目前公司基于一主两备的同步流复制搭建了一套高可用的方案。
大体思路是:
1、使用了pgpool作为负载均衡和连接池,并开启了watchdog作为pgpool主备。
2、使用keepalived虚拟出一个VIP,并用脚本检测主备机状态,异常则切换。
3、pgpool的后端是三台主机,做成一主两备同步流复制。
请问还有其他的方案更加合适吗?
客户要求是:
1、数据必须不能丢,性能次要。
2、必须给出一个 统一的连接IP。
3、客户不考虑从应用层面做负载均衡和连接池。
这里的关键在于failover的时候,新主库的选举,以及fence。
可以在前端实现,例如pgpool-II。
或者在后端实现,建议参考一下raft 或者 Paxos的做法。
VIP的话是比较好管理的,跟随主库走。
这个例子也不知道是否适合你
https://yq.aliyun.com/articles/7240
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。