Сервер приложений С++

Содержание

Слайд 2

первые наработки - 2003 год
нагруженный проект, много запросов, мало памяти, мало CPU
компьютеры

первые наработки - 2003 год нагруженный проект, много запросов, мало памяти, мало
выросли, но выросли и нагрузки; ничего не изменилось
новые требования: модульность, упрощение API, переносимость

Слайд 3

Парадигма MVC и CAS

что такое MVC и зачем оно нужно?
наши модификации
достоинства предложенной

Парадигма MVC и CAS что такое MVC и зачем оно нужно? наши
схемы
архитектура CAS

Слайд 4

Классическая архитектура MVC

Классическая архитектура MVC

Слайд 5

Критика

плохо работает под большой нагрузкой
сложность разработки моделей, контроллеров и представлений
ненужный код в

Критика плохо работает под большой нагрузкой сложность разработки моделей, контроллеров и представлений
моделях
проблемы с масштабированием

Слайд 6

Модификация MVC

Модификация MVC

Слайд 7

Достоинства

модели – универсальные
формирование ответа – только в представлении
для генерации HTML/JSON/XML кроме шаблона

Достоинства модели – универсальные формирование ответа – только в представлении для генерации
ничего не требуется
простота внесения правок
высокая скорость работы

Слайд 8

Проект CTPP

виртуальная машина
библиотека функций
компилятор
коллектор результатов
кэш байткода

Проект CTPP виртуальная машина библиотека функций компилятор коллектор результатов кэш байткода

Слайд 9

Результаты

CTPP2
HTML::Template::JIT
HTML::Template::Pro
HTML::Template
Template::Toolkit

Результаты CTPP2 HTML::Template::JIT HTML::Template::Pro HTML::Template Template::Toolkit

Слайд 10

Архитектура CAS

модульность
изоляция сущностей
простота разработки и сопровождения
расширяемость
универсальность
интегрируемость

Архитектура CAS модульность изоляция сущностей простота разработки и сопровождения расширяемость универсальность интегрируемость

Слайд 11

Жизненный цикл

загрузка конфигурации
загрузка модулей
создание сервера приложений
обработка запросов
выход

Жизненный цикл загрузка конфигурации загрузка модулей создание сервера приложений обработка запросов выход

Слайд 12

Обработка запроса

контролллер исполняется первым
модели запускаются последовательно
если возникла ошибка – работают финализаторы
представление формирует

Обработка запроса контролллер исполняется первым модели запускаются последовательно если возникла ошибка –
данные

Слайд 13

От слов – к делу!

необходимый инструментарий
пишем “Hello, World!”
тестируем результаты работы
пример посложнее –

От слов – к делу! необходимый инструментарий пишем “Hello, World!” тестируем результаты
лента новостей
сравним с mod_perl
и с PHP – тоже сравним

Слайд 14

Инструменты

компилятор C++
система сборки cmake
сервер приложений C++
10 минут свободного времени

Инструменты компилятор C++ система сборки cmake сервер приложений C++ 10 минут свободного времени

Слайд 15

Hello, World!

Создаем модуль

Hello, World! Создаем модуль

Слайд 16

Hello, World!

Пишем код

Hello, World! Пишем код

Слайд 17

Hello, World!

Создаем шаблон

Hello, World! Создаем шаблон

Слайд 18

Hello, World!

Проверяем результат

Hello, World! Проверяем результат

Слайд 19

Тоже самое – на mod_perl

Тоже самое – на mod_perl

Слайд 20

И на PHP

И на PHP

Слайд 21

Пример посложнее

Лента новостей

Пример посложнее Лента новостей

Слайд 22

Интеграция

единые шаблоны для всего проекта, независимо от “движка”
простота миграции между технологиями
высокая скорость

Интеграция единые шаблоны для всего проекта, независимо от “движка” простота миграции между
прототипирования и разработки
поддержка популярных языков и сред: Perl, PHP, Python

Слайд 23

Интерфейсы

Apache 1.3.X
Apache 2.X
FastCGI

Интерфейсы Apache 1.3.X Apache 2.X FastCGI

Слайд 24

Платформы и архитектуры

Linux
FreeBSD
Solaris
i386
amd64
UltraSPARC

Платформы и архитектуры Linux FreeBSD Solaris i386 amd64 UltraSPARC

Слайд 25

Развитие проекта

сервер-сборщик (привет, Mail.ru ;)
несколько разных View: HTML, JSON, XML
отдельные части сервера

Развитие проекта сервер-сборщик (привет, Mail.ru ;) несколько разных View: HTML, JSON, XML
– в виде самостоятельных библиотек
модули CAS для работы с разнообразными поставщиками данных
Имя файла: Сервер-приложений-С++.pptx
Количество просмотров: 137
Количество скачиваний: 1