4

我正在开始一个新项目,其中将使用两个 tomcat 前面的 Elastic Load Balancer。至少这是候选解决方案。在这个项目中,每个开发者的电脑上都会有一个开发环境。每个开发人员都需要拥有最终生产拓扑的精确副本。对于 EC2 实例,这将通过 oracles 虚拟机(ubuntu VM)来实现。

问题/问题是:如何在本地环境中复制 ELB 以获得相同的行为。我认为在本地环境中使用 Apache 的 HAProxy 或 mod_proxy 进行负载平衡是有风险的,因为前面的软件产品具有与 ELB 不同的行为(例如它们传输 HTTP 标头的方式)。

所以最后的问题是:是否有建议的解决方法?有经验的人对这种情况有任何建议/解决方法吗?

谢谢

4

1 回答 1

3

好问题。这是我的做法:

  1. 专门为开发测试创建ELB和EC2实例,并将实例添加到ELB。
  2. 在 ELB 上为每个开发人员的工作站创建一个侦听器(即 http/3001 --> http/3001、http/3002 --> http/3002 等等)。请注意,您只能在 ELB 上创建一个运行状况检查——要解决此问题,您可以在测试实例上安装 apache 或 nginx,并让 ELB 检查 80/tcp 以确保实例始终处于服务状态)。
  3. 从每个开发人员的工作站,建立到测试实例(即ssh -fN -i ~/.ssh/ec2_keypair.pem ec2-user@ec2-instance-fqdn -R 3001:localhost:3001)的 ssh 隧道。

在这种配置下,每个开发者的本地环境都可以在http://elb-fqdn:developer_port. 您可能希望锁定分配给测试 ELB 的安全组,以便只允许来自某些 IP 的连接。

于 2012-06-19T19:37:12.877 回答