Question

I have the following scenario where a cluster of Amazon EC2 servers are worked on the presentation layer, these servers pass requests to other cluster of EC2 servers ( Business layer ) through Amazon Elastic load balancer.

The new requirement is: the business layer's servers will be responsible for some tasks not all tasks, for example servers of type one will serve requests of types 1,2,3. Servers of type two will serve requests of type 4,5,6. and so on.

What is the best way to implement this logic in Amazon AWS, do i need an Elastic load balancer for each type, can i put a routing logic in one load balancer, or i have to do something else ?

Thank you

Was it helpful?

Solution

ELB doesn't let you inspect your traffic like that. Either create multiple ELBs, or handle it yourself with something like nginx+haproxy.

OTHER TIPS

Best is to use different clusters for different functionality.

Each cluster will have a different endpoint URL, so you can reach the one you need from the presentation layer.

In certain types of job (mainly with long running time), you will have to use SQS and post the messages from the presentation layer. Then the clusters can pick the job they are interested in and execute. You can separate the different jobs, by posting different SQS messages.

When you setup these "task" based clusters, it is easy to manage them as auto scaling clusters - cost-effective and easy to scale (1 to many based on need) Read more here: http://aws.amazon.com/autoscaling/

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top