Dispatcher is Adobe Experience Manager’s caching and/or load balancing tool. Using AEM’s Dispatcher also helps to protect your AEM server from attack. Therefore, you can increase the security of your AEM instance by using the Dispatcher in conjunction with an enterprise-class web server.
- Caching: It is used to cache as much content as possible in the form of a static website, which helps to reduce the continuous calling for generating content when website data is dynamic.
- Load-balancing: If there are multiple cq instances configured with a dispatcher, the dispatcher can do a load-balancing and if there is too much load on any cq instance, it can relay the request to another less busy instance.
Dispatcher uses the following method for content caching:
- Content Updates invalidates those pages whose content has been updated and replaces it with new content.
- Auto-invalidation automatically invalidates the content parts which are out of date – without physically deleting any files.
How dispatcher performs load-balancing?
- Performance Statics: Dispatcher keeps statistics on how fast each instance of cq is responding to a particular url. Based on those metrics, dispatcher determines which instance of cq will fetch the quickest response for any request and relays the request to that cq instance
- Sticky Connections: when a user session is established, then all incoming requests from that user should be served by the same cq instance, because other cq instances cannot recognize the user session and generate personalized pages for him. Dispatcher makes sure all requests for user session are served from the same cq instance..
- Increase fail-safe coverage: If the Dispatcher does not receive responses from an instance, it will automatically relay requests to one of the other instance.