实现postgresql主从自动切换使用keepalived 和 repmgr 哪个更好一些啊?
keepalived基本不需要业务层面做任何事情,就可以实现高可用,主备容灾。而且容灾的宕机时间也比较短。但因为VRRP、主备切换都没有什么复杂的逻辑,所以无法应对某些特殊场景,比如主备通信链路出问题,会导致脑裂。同时,keepalived也不容易做负载均衡。而repmgr备节点会有N次(配置参数)尝试机会去连接主节点,如果N次连接还是不成功,则Repmgr系统会认为主节点出现故障,开始进行failover,在完成failover过程后,如果原来主节点网络恢复,则repmgrd守护进程会对原来主节点进行降级成备节点。repmgr也是现在PG比较流行的故障切换工具,它是分布式管理,易扩展,可在线动态增删集群节点,且背后有PG一些知名公司的支持。