12
Технология MVC в высоконагруженных проектах Андрей Шетухин Илья Космодемьянский <СУП>

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

  • Upload
    althea

  • View
    80

  • Download
    0

Embed Size (px)

DESCRIPTION

Технология MVC в высоконагруженных проектах. Андрей Шетухин Илья Космодемьянский < СУП >. Классическая MVC. Критика. ü Наличие готовых решений Быстрая разработка Повторное использование кода Единая точка входа в систему Не работает под большими нагрузками Проблемы с масштабированием - PowerPoint PPT Presentation

Citation preview

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

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

Андрей Шетухин

Илья Космодемьянский

<СУП>

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

Классическая MVC

Представление

Рез

ульт

ат

Результат

МодельДанные

ЗапросыКонтроллерШаблоны

Дан

ные

БД

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

Критика Наличие готовых решенийБыстрая разработкаПовторное использование кодаЕдиная точка входа в систему

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

контроллеров

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

Отказаться от MVC?

Высокая скорость работыБыстрое исправление локальных ошибок

Сложность поддержки Проблемы повторного использования кода Трудоемкость внесения изменений

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

Модифицировать MVC!

Дан

ные

Процессор

Представление

Вы

вод

Результат

МодельДанные

ЗапросыКонтроллерШаблоны

Дан

ные

БД

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

Процессор- Обработка данных без существенного

изменения объектов

- Простые операции делать быстро

- Реализация общего функционала в одном месте

- Перераспределение нагрузки

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

Дополнительные требования- Высокая скорость работы

- Интерфейсы к популярным языкам программирования

- Простота использования в проектах

- API для разработки расширений

- Кроссплатформенность

- Расширяемость функционала

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

Шаблонизаторы <CTPP/> - быстрый шаблонизатор

Простое API Расширяемость языка шаблонов Переносимость Компиляция и кеширование шаблонов Разделение одного байткода между процессами Высокая скорость работы Защищенность среды исполнения

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

Основные компоненты- Виртуальная машина- Библиотека функций- Компилятор шаблонов- Коллектор результатов- Кэш байткода- Программный

интерфейс- Система загрузки

шаблонов

Данные

Байт-код

Виртуальная машина

Результат

КомпиляторШаблон

Функции API шаблонизатора

Кэш

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

Результаты тестирования5 – CTPP2

4 – HTML::Template::JIT

3 – HTML::Template::Pro

2 – HTML::Template

1 – Template:Toolkit

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

Будущее- Поддержка синтаксиса TemplateToolkit- ЭЦП шаблонов- Компиляция в исполняемый двоичный код- Развитие библиотеки встроенных функций - Программный интерфейс к Java и RoR- Поддержка платформы Windows

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

Вопросы?