Upload
althea
View
80
Download
0
Embed Size (px)
DESCRIPTION
Технология MVC в высоконагруженных проектах. Андрей Шетухин Илья Космодемьянский < СУП >. Классическая MVC. Критика. ü Наличие готовых решений Быстрая разработка Повторное использование кода Единая точка входа в систему Не работает под большими нагрузками Проблемы с масштабированием - PowerPoint PPT Presentation
Citation preview
Технология MVC в высоконагруженных проектах
Андрей Шетухин
Илья Космодемьянский
<СУП>
Классическая MVC
Представление
Рез
ульт
ат
Результат
МодельДанные
ЗапросыКонтроллерШаблоны
Дан
ные
БД
Критика Наличие готовых решенийБыстрая разработкаПовторное использование кодаЕдиная точка входа в систему
Не работает под большими нагрузками Проблемы с масштабированием Сложность разработки моделей и
контроллеров
Отказаться от MVC?
Высокая скорость работыБыстрое исправление локальных ошибок
Сложность поддержки Проблемы повторного использования кода Трудоемкость внесения изменений
Модифицировать MVC!
Дан
ные
Процессор
Представление
Вы
вод
Результат
МодельДанные
ЗапросыКонтроллерШаблоны
Дан
ные
БД
Процессор- Обработка данных без существенного
изменения объектов
- Простые операции делать быстро
- Реализация общего функционала в одном месте
- Перераспределение нагрузки
Дополнительные требования- Высокая скорость работы
- Интерфейсы к популярным языкам программирования
- Простота использования в проектах
- API для разработки расширений
- Кроссплатформенность
- Расширяемость функционала
Шаблонизаторы <CTPP/> - быстрый шаблонизатор
Простое API Расширяемость языка шаблонов Переносимость Компиляция и кеширование шаблонов Разделение одного байткода между процессами Высокая скорость работы Защищенность среды исполнения
Основные компоненты- Виртуальная машина- Библиотека функций- Компилятор шаблонов- Коллектор результатов- Кэш байткода- Программный
интерфейс- Система загрузки
шаблонов
Данные
Байт-код
Виртуальная машина
Результат
КомпиляторШаблон
Функции API шаблонизатора
Кэш
Результаты тестирования5 – CTPP2
4 – HTML::Template::JIT
3 – HTML::Template::Pro
2 – HTML::Template
1 – Template:Toolkit
Будущее- Поддержка синтаксиса TemplateToolkit- ЭЦП шаблонов- Компиляция в исполняемый двоичный код- Развитие библиотеки встроенных функций - Программный интерфейс к Java и RoR- Поддержка платформы Windows
Вопросы?