首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多个AWS实例和一个数据库

问多个AWS实例和一个数据库
EN

Server Fault用户
提问于 2010-02-19 02:31:51
回答 4查看 2.9K关注 0票数 6

我有一个web应用程序,它存在于两个AWS实例上--一个实例承载站点,另一个实例托管实际数据库(MySQL)。承载站点的实例有一个弹性IP指向它,这是绑定到我的域名。

显然,AWS的主要好处之一是在事情繁忙时能够同时运行一堆实例,AWS甚至提供了自动化的解决方案。太棒了。但是,如果我的域指向一个IP,并且该IP绑定到一个实例,我如何在多个实例之间分配通信量?我是否让主机器充当负载均衡器?如果是,是否有一个常用的负载平衡解决方案用于LAMP?

EN

回答 4

Server Fault用户

回答已采纳

发布于 2010-02-19 04:22:45

您可以使用循环DNS,如前所述.如果您正在寻找一个快速而简单的解决方案,这可能也是我推荐的。

但是,EC2实例不是持久的,您不应该这样对待它们。意思是,他们可以上升和消失像屁在风和你的应用程序必须容忍这一点。RR DNS可能是一个痛苦的来源,因为它不够聪明,以处理容错/高可用性。如果您的一个web服务器死亡,用户将被困在试图连接到死机器,直到TTL失效的记录。前面提到的设置一个可笑的低TTL的技巧是行不通的。下游缓存DNS服务器不会满足那么低的TTL要求。你要是能有一个小时的TTL就好了。许多用户可能会在24小时或更长时间内试图连接同一个死气沉沉的web服务器。

我建议你调查一下HAProxy。Reddit.com在EC2上使用HAproxy来平衡大约2亿页的浏览量/月。跨越几十个web服务器实例。我相信它也能处理你的应用程序。

票数 3
EN

Server Fault用户

发布于 2010-02-23 22:07:05

Amazon还提供弹性负载平衡服务。

http://aws.amazon.com/documentation/elasticloadbalancing/

票数 5
EN

Server Fault用户

发布于 2010-02-23 23:17:32

您可以使用您的EIP来进行弹性负载平衡,就像四月提到的那样;但是,当我评估它时,它有一些缺陷,使得它不太适合我的部署。

我有两个弹性I,它们被分配给两个EC2实例,作为我的前端web服务器。这只是运行线程化的Apache2服务器,它处理对它们后面的应用服务器的负载平衡。然后将这两个EIP放入标准DNS循环。

Apache2配置使用mod_balancer来平衡后端服务器实例之间的请求,而后端服务器实例不少于3个实例。数据库运行在它自己独立的EC2实例上,后端系统可以连接到这个实例。

您可以用HAProxy替换我的前端系统上的HAProxy配置。我确实看过了,但需要做比我想象的更智能的HAProxy路由,但是有一天我可能会回去重新评估这个位置。

在这种配置中,我正在处理超过6个受重击的站点,它们每月的点击量为数千万次。线程化的前端Apache2服务器几乎没有负载,因为它们只是充当中间的角色,而真正的工作是在后端服务器上完成的。我注意到,在传统的专用服务器上运行的数据中心中,速度性能有了很大的提高。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/114491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档