pgoneproxy提供了vip功能来保证可以不间断的对外部提供服务。下面来说解下pgoneproxy中VIP功能的使用方法。数据库
环境:网络
pgoneproxy主机:172.30.12.10 172.30.12.11ui
pgoneproxy业务主机:172.30.12.8debug
配置:code
172.30.12.10 和 172.30.12.11 两台主机的配置以下所示:server
/usr/local/pgoneproxy/pgoneproxy \ --keepalive=1 \ --vip-address=172.30.12.122/em1:0 \ --log-level=debug \ --proxy-address=:2000 \ --proxy-master-addresses=172.30.12.12:5432@data1 \ --proxy-slave-addresses=172.30.12.9:5432@data1 \ --proxy-user-list=db_user/949059A4C1F0294785A2F453D9367838B73158A3@pgbench \ --proxy-user-group=data1:db_user/DC3F3EA7387BA90D2051477E6711C3A5F81BE8E7@pgbench \ --proxy-part-tables=$(pwd)/hashpart.txt \ --event-threads=16 \ --proxy-httpserver=:8080 \ --proxy-trans-debug=1 \ --log-file=/home/huih/test/log/oneproxy.log \ --pid-file=/home/huih/test/log/oneproxy.pid &
使用vip关键配置项是:keepalive, vip-address这两个必定要配置。若是这两个配置了,那么业务主机和pgoneproxy所在的主机能够是同一台主机,若是不配置keepalive那么业务就不能和pgoneproxy放在同一台主机上面。ip
vip-address=172.30.12.122/em1:0,其中172.30.12.122是vip地址,em1:0表明在网卡em1上面创建一个虚拟的网卡em1:0。故em1须要根据实际的网络名称进行设置,多是eth0,也多是其余的。hash
执行状况:event
在172.30.12.8主机上面直接查询数据库,若是pgoneproxy任意一台掉线都不影响查询。table
若是接受短暂的拒绝提供服务,那么能够直接经过配置keepalive便可。这样当pgoneproxy掉线后,自动重启。