AXAMIT logo
Домашняя Страница Блог 2016 AEM Dispatcher. Часть 1: Краткий обзор и назначение диспетчера

AEM Dispatcher. Часть 1: Краткий обзор и назначение диспетчера

AEM Dispatcher. Часть 1: Краткий обзор и назначение диспетчера

В этой части из серии публикации про AEM Dispatcher я бы хотел рассказать про то, что это такое и для чего он необходим. Данная информация даст понимание того, что мы будем настраивать в следующих частях серии публикаций про AEM Dispatcher.

Существуют два подхода для предоставления публичного доступа к веб-приложениям: с помощью статических веб-серверов либо с помощью систем управления контентом (Content Management System, CMS).

Статические веб-серверы

Такие статические веб-серверы, как Apache httpd или Microsoft IIS, хоть и очень простые, зато быстрые.

Первые статические веб-серверы появились в эпоху взросления интернета в середине 90-х годов XX-ого века.

Apache http-сервер (httpd) был одним из подобных, но он очень быстро стал самым популярным статическим веб-сервером. Сервер httpd появился в 1995 году, а с апреля 1996 года является наиболее распространённым в интернете. В феврале 2015 года он отпраздновал свое 20-летие. Создание httpd сервера оказалось очень важным для индустрии программ с открытым исходным кодом, в том числе и для java-программ. Этот сервер был написан коллективом из 10-15 программистов, которые основали Apache Group. В 1999 году участники Apache Group сформировали сообщество Apache Software Foundation (ASF), которое существенно расширило число программ с открытым исходным кодом. Например, сегодня разработка приложений на java почти не доставляет неудобств благодаря множеству проектов Apache по созданию программ с открытым исходным кодом, например, таких как felix (реализация OSGi), jackrabbit (реализация jcr) и sling, которые используются в AEM.

Одна из самых лучших особенностей статических веб-серверов заключается в том, что их возможности и свойства могут расширяться, улучшаться и настраиваться с помощью дополнений (плагинов), написанных другими программистами.

Системы управления контентом

Управление контентом обеспечивает удобную и понятную поддержку динамического контента без остановки или перезапуска приложения, но для этого требуется гораздо больше вычислительного времени и других ресурсов.

Этот 2-ой подход применяется в работе AEM по умолчанию. Минимальная схема рабочей среды для публикации веб-приложений с помощью AEM состоит из двух AEM серверов: авторского и публичного.

AEM диспетчер

Диспетчер помогает использовать оба подхода одновременно для создания и настройки быстрой и динамической рабочей среды. Диспетчер работает как часть статического html-сервера (такого как httpd). Это означает, что диспетчер по сути всего лишь написанный другими программистами плагин (у httpd-сервера плагины называются модулями) для статических веб-серверов. Такой плагин был написан компанией Adobe.

Подобная рабочая среда поддерживает кэширования для следующих целей:

  • хранение (или кэширование) как можно большей части контента в качестве статического вебсайта;
  • минимизация числа обращений к динамической составляющей приложения.

Другими словами это означает следующее:

  • статический контент обрабатывается со скоростью и легкостью статического веб-сервера; кроме этого можно пользоваться инструментами для администрирования и безопасности самих статических веб-серверов;
  • динамический контент создается по мере необходимости, больше не замедляя систему без лишней нужды.

Диспетчер обладает механизмом создания и обновления статического html-кода, сформированного на основе контента динамического сайта. Вы можете точно указать, какие документы сохраняются в качестве статических файлов, а какие всегда создаются динамически.

Кроме пользы от кэширования диспетчер даёт преимущества балансировки нагрузки. Балансировка нагрузки - это распределение вычислительной нагрузки приложения между несколькими AEM-серверами, что позволяет увеличить вычислительную мощность и отказоустойчивость.

Резюме

Основные цели диспетчера:

  • кэширование;
  • балансировка нагрузки.

Также диспетчер помогает в следующем:

  • безопасность;
  • управление обработкой запросов.

Более подробная документация по этой теме доступна на странице: https://docs.adobe.com/docs/en/dispatcher.html

Автор: Виталий Киселев, AEM Разработчик

Автор

Виталий Киселев
  • Виталий Киселев
  • Certified AEM Developer