Postgres文档以及概述将负载平衡描述为系统的一个独特部分。
我是正确的,这取决于Postgres用户的负载平衡,还是有一种特定的实现负载平衡的方法(使用协调员的负载信息等)。做手术并让它高可用?
发布于 2017-08-24 14:16:42
Postgres没有HA特性。您可以在协调器节点前面放置一个负载均衡器,这样它们就会有冗余。但是,节点没有失败的支持,因此任何一个节点上的丢失都会导致整个集群失败。您可以设置镜像节点,但即使是这样,如果节点失败,也需要手动干预,而且这显然是您需要的硬件数量的两倍。
发布于 2020-05-28 13:43:05
我认为这个问题没有得到很好的回答,因为Postgres支持几个协调员的配置,就像他们在页面https://www.postgres-xl.org/documentation/tutorial-arch.html中解释的那样:Postgres允许多个协调员独立但以集成的方式接受来自应用程序的语句。任何协调员的任何来信都可以从任何其他协调员处获得。它们的行为就好像它们是单个数据库一样。协调员的职责是接受语句,查找所涉及的Datanodes,在需要时将查询计划发送到适当的Datanodes,收集结果并将其写回应用程序。
协调员不存储任何用户数据。它只存储目录数据以确定如何处理语句,其中包括目标Datanodes。因此,你不必担心协调员的失败。当协调员失败时,你可以切换到另一个。因此,问题在于如何使用负载均衡器将应用程序与postgres-xl的协调器连接,其中nginx或HAPproxy等解决方案可以进入,解决方案是nginx及其流模块,它可以将nginx作为负载均衡器连接到postgres-xl。
如果要使用nginx作为应用程序和postgres-xd数据库之间的负载均衡器,请使用ngx_stream模块(配置位于链接module.html中)。
https://stackoverflow.com/questions/44265925
复制相似问题