上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.2 通过HAProxy实现代理
2.2.1 HAProxy概念
高可用性代理(High Availability Proxy,HAProxy)是一款流行的开源TCP/HTTP负载平衡器和代理解决方案,可以在Linux、Solaris和FreeBSD上运行。它最常见的用途是通过在多个服务器(例如Web、应用程序、数据库)之间分配工作负载来提高服务器环境的性能和可靠性,特别适用于流量很高的网站。多年来 HAProxy 已成为事实上的标准开源负载平衡器,随多数主流Linux发行版一起提供,并为世界上许多高访问量的网站提供支持,在很多知名公司获得成功应用,如GitHub、Imgur、Instagram和Twitter。
随着流量的增加,管理数据库流量变得越来越困难,并且数据库实际上分布在多个服务器上。PostgreSQL 客户端通常与单个端点通信。当主节点发生故障时,数据库客户端将继续重试相同的IP 地址。而如果故障已经转移到辅助节点,就需要使用新端点更新应用程序。在应用程序和数据库实例之间放置负载平衡器,可以将应用程序定向到可用或运行状况良好的数据库节点,并在需要时进行故障转移。另一个好处是可以通过有效使用副本来提高读取性能。可以创建一个只读端口,以平衡各个副本之间的读取。下面介绍如何安装及启动HAProxy。
作为负载平衡器,HAProxy将流量从一个来源分发到一个或多个目的地,并为此任务定义特定的规则和(或)协议。如果有目的地停止响应,则将其标记为脱机,并将流量发送到其余的可用目的地。