Ind*_*ial 13 high-availability load-balancing redundancy apache-2.2
我试图理解负载平衡的概念,以确保可用性和冗余,以便在出现问题时让用户满意,而不是为了向数百万用户提供极快的速度而进行负载平衡。
我们的预算有限,并试图坚持使用有大量可用知识的东西,因此在某些著名的搜索引擎收购我们之前,在 Ubuntu VPS 上运行 Apache 似乎是一种策略(包括星期六的讽刺,请注意)。
至少对我来说,这是一个完整的可用不同解决方案的丛林。Apache 自己的 mod_proxy 和 HAproxy 是我们通过快速谷歌搜索找到的两个,但是负载平衡的经验为零,我不知道什么适合我们的情况,或者我们在选择解决方案时会注意什么来解决我们的问题可用性问题。
对我们来说最好的选择是什么?我们应该怎么做才能在不超出预算的情况下获得高可用性?
小智 6
HAproxy 是一个很好的解决方案。配置相当简单。
您需要另一个 VPS 实例来位于至少 2 个其他 VPS 的前面。因此,对于负载平衡/故障转移,您至少需要 3 个 VPS
还需要考虑的一些事情是:
SSL 终止。如果您使用 HTTPS://,该连接应在负载均衡器处终止,在负载均衡器后面,它应通过未加密的连接传递所有流量。
文件存储。如果用户上传图片,它会去哪里?它只是坐在一台机器上吗?您需要某种方式在机器之间即时共享文件 - 您可以使用 Amazon 的 S3 服务来存储所有静态文件,或者您可以使用另一个 VPS 作为文件服务器,但我会推荐 S3,因为它冗余且非常便宜。
会话信息。负载均衡器配置中的每台机器都需要能够访问用户的会话信息,因为您永远不知道它们会命中哪台机器。
db - 你有单独的数据库服务器吗?如果你现在只有一台机器,你将如何确保你的新机器可以访问数据库服务器——如果它是一个单独的 VPS 数据库服务器,那有多冗余。拥有高可用性 Web 前端和一个数据库服务器的单点故障不一定有意义,现在您还需要考虑数据库复制和从属提升。
所以我一直在你的鞋子里,这就是网站每天点击几百次才能真正操作的麻烦。它很快变得复杂。希望能给你一些启发:)
我使用的解决方案可以通过 VPS 轻松实现,如下所示:
根据我的偏见,这个拱门有以下优点:
在您的情况下,物理分离的 VPS 是一个好主意,但会使 IP 共享更加困难。目标是拥有一个抗故障的冗余系统,以及一些用于负载平衡/HA 的配置将它搞砸,添加一个单点故障(就像一个单一的负载平衡器来接收所有流量)。
我也知道你问过 apache,但那些日子我们有更适合这项工作的特定工具(如 nginx 和 varnish)。让 apache 在后端运行应用程序并使用其他工具为其提供服务(并不是说 apache 不能很好地进行负载平衡或反向代理,这只是将工作的不同部分卸载到更多服务的问题,以便每个部分都可以做得很好它的份额)。
归档时间: |
|
查看次数: |
4064 次 |
最近记录: |