我应该在web节点上运行haproxy for db和redis sentinel吗?
我正在使用vagrant建立一个服务器集群,并使用Redis sentinel和HAProxy进行Postgresql数据库连接(使用pgpool)。我很好奇将haproxy和redis sentinel放在我的每个web服务器节点上并让它们直接连接到这些节点是否有意义。其思想是,它可以创建到DB和redis的分布式连接,并将单点故障减少到它们连接到的单个haproxy,然后拆分到不同的DB节点。我还可以将数据库连接(通过haproxy)和redis(通过sentinel)封装到本地主机。这有意义吗?只有当你试图节省资源/成本时,这才有意义 请注意,redis sentinel必须有一个有限的sentinel实例列表,这不适合每台机器放置一个实例的场景,因为您的机器计数可能会缩放/更改 否则,在不同的机器上放置不同的基础设施组件(特别是那些具有集群/HA特性的组件,如redis)总是最有意义的 通过将它们混合在一起,通常会导致应用程序相互阻碍,并在负载增加时从彼此那里窃取CPU。您还面临着将应用程序/脚本/流设计为位置感知(即假设外部资源始终是本地的)的风险,这也不是一个真正的好做法我应该在web节点上运行haproxy for db和redis sentinel吗?,redis,haproxy,high-availability,failover,sentinel,Redis,Haproxy,High Availability,Failover,Sentinel,我正在使用vagrant建立一个服务器集群,并使用Redis sentinel和HAProxy进行Postgresql数据库连接(使用pgpool)。我很好奇将haproxy和redis sentinel放在我的每个web服务器节点上并让它们直接连接到这些节点是否有意义。其思想是,它可以创建到DB和redis的分布式连接,并将单点故障减少到它们连接到的单个haproxy,然后拆分到不同的DB节点。我还可以将数据库连接(通过haproxy)和redis(通过sentinel)封装到本地主机。这有意