2014-02-22 33 views
0

我有以下场景,其中一组Amazon EC2服务器在表示层上工作,这些服务器通过Amazon Elastic Load Balancer将请求传递给EC2服务器(业务层)的其他集群。亚马逊AWS从表示层到应用层的路由

新的要求是:业务层的服务器将负责一些任务而不是所有的任务,例如类型1的服务器将服务于1,2,3类型的请求。类型2的服务器将为类型4,5,6的请求提供服务。等等。

在亚马逊AWS中实现此逻辑的最佳方式是什么?我是否需要每种类型的弹性负载平衡器,我可以将路由逻辑放在一个负载平衡器中,还是我必须做其他事情?

谢谢

+0

这些是用于在表示层中构建页面的任务?还是他们习惯于处理用户数据?如果是后者,我建议使用Amazon SQS并以这种方式分配您的任务。在这种设置中,每个集群都会监听一个单独的SQS队列。 – sean

+0

感谢您的帮助,实际上业务层的结果将用于构建页面。但是你所谈论的是这种分离背后的原因之一,因为其中一些任务不应该在线,我的意思是你可以把它们放在SQS中,并在以后得到结果。 – user3341697

+0

我现在正在做的一种方法是使用Apache Thrift为系统的在线部分创建分布式系统。 – sean

回答

0

ELB不会让你检查你的流量。要么创建多个ELB,要么使用nginx + haproxy来处理它。

0

最好是对不同的功能使用不同的群集。

每个集群都有不同的端点URL,因此您可以从表示层到达所需的端点URL。

在某些类型的工作中(主要是长时间运行),您将不得不使用SQS并从表示层发布消息。然后集群可以选择他们感兴趣的工作并执行。您可以通过发布不同的SQS消息来分离不同的工作。

当你安装这些“任务”立足集群,很容易将其管理为自动缩放集群 - 成本效益和方便(根据需要1对多)规模在这里阅读更多:http://aws.amazon.com/autoscaling/

+0

Auto Scaling与什么有关? –

+0

我们的想法是使用不同组的EC2(=集群)来分组变体作品。如果这些设置为Autoscaling集群,那么它具有成本效益并且易于扩展(根据需要1到很多) –

+0

集群之间的距离和自动缩放非常大 - 我建议您应该给出某种解释阅读建议与相关。 –