Expand my Community achievements bar.

SOLVED

Dispatcher clear cache on AWS ELB

Avatar

Level 6

Hello,

When setting the Dispatcher Flush Cache, we need to setup the host of the Dispatcher that needs to have cache flushed.

When We are on ELB, we don't know exactly the Ips of the Machines under the ELB, so, the only fixed host we have is the elb host address. But using the elb address on dispatcher flush agent, we can not guarantee that all machines under the ELB will have the cache flushed.

Does someone here has a similar architecture? How do you flush the cache on all machines under the ELB?

I mean, only one ELB with multiple Dispatchers under it?

Any tips are very welcome.

Thanks,

1 Accepted Solution

Avatar

Correct answer by
Employee Advisor

Hi,

Ok, understood. Do you really need autoscaling? Are the webservers/dispatchers your bottleneck or rather the AEM publish instances?

My experience is, that the webserver/dispatcher instances are rarely the bottleneck; in most cases it's the publish instance itself. I talked about this in [1]. So, if your webservers are not the bottleneck, I don't see the need to configure them for autoscaling. Rather setup a few dispatcher instances statically (maybe assigning pre-defined hostnames), attach them to the ELB and configure your publishs to invalidate these dispatchers.

That's currently the best solution I know.

kind regards,
Jörg

[1] Connecting dispatchers and publishers | Things on a content management system

View solution in original post

5 Replies

Avatar

Administrator

I have asked internal expert to have a look at this.

~kautuk



Kautuk Sahni

Avatar

Employee Advisor

Hi,

Can you please explain your setup? From what I know AWS does not offer dispatcher service, so you need to run the dispatcher hosts on your own? And then you should know the hostnames/IPs you these hosts.

Kind regards,
Jörg

Avatar

Level 6

Hi Jörg,

You are correct Amazon does not offer it.

What I have is machines with the Apache configured with Dispatcher module. And it is under a ELB, for Auto Scaling, so depending on the load it creates more apache machines and put under the AWS ELB.

The point is, under ELB we will have dynamic Ips, we don't have the exact ip addresses of the machines. So in the dispatcher flush agent we can not point to the correct ip addresses.

So, I'd like to know if some of the forum has some similar setup or any recommended approach to follow.

Thanks,

Avatar

Correct answer by
Employee Advisor

Hi,

Ok, understood. Do you really need autoscaling? Are the webservers/dispatchers your bottleneck or rather the AEM publish instances?

My experience is, that the webserver/dispatcher instances are rarely the bottleneck; in most cases it's the publish instance itself. I talked about this in [1]. So, if your webservers are not the bottleneck, I don't see the need to configure them for autoscaling. Rather setup a few dispatcher instances statically (maybe assigning pre-defined hostnames), attach them to the ELB and configure your publishs to invalidate these dispatchers.

That's currently the best solution I know.

kind regards,
Jörg

[1] Connecting dispatchers and publishers | Things on a content management system