0

如果您有时间,请询问有关负载均衡器的问题。

所以我已经使用 AWS 有一段时间了。超级基本的实例,每当我需要做某事时使用它们来完成一些任务。

我现在有一个需要负载平衡的任务。虽然它不是公共服务。这几乎是一项巨大的 cron 工作,我不想在与我的网站相同的服务器上运行。

我设置了一个 AWS 负载均衡器,但它并没有达到我的预期。它卡在一台服务器上,根本没有负载平衡。我已经阅读了它为什么这样做,这一切都很好,但我需要它成为一个严肃的循环负载平衡器。

编辑:

我已经在不同的区域设置了实例,但是无论我向 ELB 添加多少实例,它都只使用一个。如果我取消该实例,它会切换到另一个实例,所以我知道它正在工作。但我真的希望它在任何情况下都使用不同的。

我知道还有其他选择。这是我的问题:现在自定义 php 负载均衡器是一个不错的选择吗?IE:有一个服务器列表,并让 php 随机选择一个 ec2 实例。根本无法扩展,至少我可以在 2 分钟内完成设置,并且现在可以工作。

或者

我是否应该花时间了解 HAProxy 的工作原理,并将其设置为代替 AWS ELB?

或者

我做错了吗,AWS的ELB确实做循环。我只是有一些配置错误?

编辑:

结构: 1) Web 服务器找到要执行的任务。

2)如果它太大,它会将其发送到 AWS(到负载均衡器)。

3) 在 EC2 上完成工作

4) 通过 curl 向 API 报告

5) 冲洗并重复

一切都很好。但是因为连接总是来自我的服务器(一个 IP),所以它会粘在一台 EC2 机器上。

4

3 回答 3

1

ELB 适用于负载逐渐增加的站点。如果您预计负载会出现不寻常且突然的增加,您可以要求 AWS 为您预热。

我可以告诉你,我在不同的场景中使用了 ELB,它对我来说总是很有效。由于您没有提供有关您的架构的太多信息,我敢打赌 ELB 适合您,并且所有连接都只访问一台服务器的情况下,我会问您:

1)您是否检查了 ELB 以查看其背后有多少实例?2)您在ELB后面的实例都还活着吗?3) 您是否通过 ELB DNS 访问您的应用程序?

不管怎样,我摘录了一篇很好的文章,它很好地比较了 ELB 和 HAProxy。http://harish11g.blogspot.com.br/2012/11/amazon-elb-vs-haproxy-ec2-analysis.html

ELB 提供基于 EC2 实例健康状态的 Round Robin 和 Session Sticky 算法。HAProxy 提供了多种算法,如 Round Robin、Static-RR、Least connection、source、uri、url_param 等。

希望这可以帮助。

于 2013-09-15T02:29:01.427 回答
0

这一点让许多使用 Amazon ELB 的用户感到意外。当传入流量来自单个或特定 IP 范围时,Amazon ELB 的行为并不奇怪,它不能有效地进行循环并坚持请求。在这种情况下,Amazon ELB 开始在多可用区部署中单独支持单个可用区域中的单个 EC2 或 EC2。例如:如果您有应用程序 A(客户公司)和应用程序 B,并且应用程序 B 部署在带有 ELB 前端的 AWS 基础设施内。从应用程序 A(单个主机)生成的所有流量都发送到 AWS 中的应用程序 B,在这种情况下,应用程序 B 的 ELB 将无法有效地将流量循环到部署在其下的 Web/App EC2 实例。这是因为来自应用程序 A 的全部传入流量将来自单个防火墙/NAT 或特定 IP 范围服务器,并且 ELB 将开始不均匀地将请求粘贴到单个 EC2 或单个 AZ 中的 EC2。注意:用户通常在负载测试期间遇到这种情况,因此从多个分布式代理负载测试 AWS Infra 是理想的。

以下文章第 9 点的更多信息http://harish11g.blogspot.in/2012/07/aws-elastic-load-balancing-elb-amazon.html

于 2013-09-15T13:12:41.753 回答
0

HAProxy 不难学习,而且非常轻巧且灵活。实际上,我在 ELB后面使用 HAProxy是为了两全其美——ELB 面向 Internet 和解包 SSL 的强化、托管、不干涉的可靠性,以及 HAProxy 的灵活配置,允许我微调事情如何影响我的服务器。我从来没有丢失过一个 HAProxy 实例,但是我这样做了,ELB 只会让那个实例脱离轮换......正如我所看到的那样,当后端服务器都变得无法访问时,会发生这种情况(因为它的方式已配置)使 ELB认为HAProxy 不健康,但这是我的设置中的设计。

于 2013-09-17T04:02:39.693 回答