Expand my Community achievements bar.

Enhance your AEM Assets & Boost Your Development: [AEM Gems | June 19, 2024] Improving the Developer Experience with New APIs and Events
SOLVED

What's the AEM Dispatcher's Role? Is it a Load Balancer or Cache Tool in AEM Lingo?

Avatar

Level 2

What are the Key Functions and Significance of the AEM Dispatcher in the Context of Adobe Experience Manager (AEM)? Is it Primarily Employed as a Load Balancer or a Caching Tool within AEM?

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hello @aem101 

 

AEM dispatcher is primarily used for request filtering and caching.

Although dispatcher + Web server are capable of performing Load balancer role, this responsibility is now generally out-sourced to Load Balancers.

 

You would notice many sites using CDN in front of dispatchers. Many sites using dispatchers and publishers with one-to-one mapping. Hence, you would notice a shift in primary responsibility of dispatchers from a load-balancer tool to other roles.

 

For details on responsibilities of an AEM dispatcher, please visit Content Delivery with AEM Dispatcher: A Beginner’s Overview – Adobe Experience Manager Blog (techrev...

 

 

 

 


Aanchal Sikka

View solution in original post

4 Replies

Avatar

Level 8

Hi @aem101 

 

The most common use of Dispatcher is to cache responses from an AEM publish instance, to increase the responsiveness and security of your externally facing published website. Most of the discussion focuses on this case.

It also helps in distributing the computational load of the website across several instances of AEM.

 

Please read the below documentation for the detailed explanation and the architectural diagrams.

https://experienceleague.adobe.com/docs/experience-manager-dispatcher/using/dispatcher.html?lang=en#....

 

Note : It also depends on you infrastructure on how effectively you make use of the setup. Trying to cache maximum static content. setting the appropriate TTL , setting the appropriate filters all helps in maintaining a stable environment and increase availability of your website.

 

 

 

 

Avatar

Correct answer by
Community Advisor

Hello @aem101 

 

AEM dispatcher is primarily used for request filtering and caching.

Although dispatcher + Web server are capable of performing Load balancer role, this responsibility is now generally out-sourced to Load Balancers.

 

You would notice many sites using CDN in front of dispatchers. Many sites using dispatchers and publishers with one-to-one mapping. Hence, you would notice a shift in primary responsibility of dispatchers from a load-balancer tool to other roles.

 

For details on responsibilities of an AEM dispatcher, please visit Content Delivery with AEM Dispatcher: A Beginner’s Overview – Adobe Experience Manager Blog (techrev...

 

 

 

 


Aanchal Sikka

Avatar

Level 1

Hi @aem101 ,

 

Are you referring to some project specific dispatcher information as you are referring to "AEM Lingo" in specfic or is it somekind of latest version to AEM?

Avatar

Community Advisor

Hello @aem101,

 

The Dispatcher is an Apache web server with the flavor of AEM with Dispatcher module installed in it. https://experienceleague.adobe.com/docs/experience-manager-dispatcher/using/dispatcher.html?lang=en

As a separate server, its NOT placed within AEM however, considered within AEM topology. It can used as load balancer but that is not its primary purpose. 

 

In another word, with dispatcher you can intercept any request coming from web browser to the AEM server. During this interception you can perform several actions which can be considered as features:

- Filter requests 

- Caching response (static content like markup, css/js, assets)

- Security measures (url rewrite, blocking selectors, url sanitation, access whitelisting)

- Performance measure (compression, encryption)

 

Here is the basic structure of dispatcher provided by adobe: https://experienceleague.adobe.com/docs/experience-manager-learn/ams/dispatcher/basic-file-layout.ht...

 

For Dispatcher FAQ: https://github.com/AdobeDocs/experience-manager-dispatcher.en/blob/main/help/using/dispatcher-faq.md

For Quick Local Setup: https://github.com/adobe/aem-dispatcher-docker

 

Thanks