使用patroni 构建高可用的pg 数据库
patroni 是一个基于zk、etcd 、consul 等的pg ha 模版,我们可以使用这个工具,快速的搭建一套
pg 的高可用方案
环境准备
mac 操作系统
- 安装基础差组件
brew install postgresql etcd haproxy libyaml python
- 安装python依赖
pip install patroni[etcd]
测试
- clone 测试代码
git clone https://github.com/zalando/patroni.git
- 服务启动
etcd --data-dir=data/etcd
./patroni.py postgres0.yml
./patroni.py postgres1.yml
./patroni.py postgres2.yml
- haproxy 启动
haproxy -f haproxy.cfg
- 连接
psql --host 127.0.0.1 --port 5000 postgres
参考界面