Технология MVC в высоконагруженных проектах

Preview:

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

Вопросы?

Recommended