2

postgresql数据库高可用及负载均衡jdbc参数测试 -m6米乐安卓版下载

原创 多米爸比 2020-03-05
7784

连接参数介绍

loadbalancehosts控制负载均衡,默认禁用,开启后依序选择一个ip1:port进行连接。

targetservertype指定connection连接特定状态的数据库实例,可选状态值包括any, primary, master, slave, secondary, preferslave and prefersecondary

实际上targetservertype的值我们只需要知道master、slave、preferslave三个就可以,其它的可以看做同义词。前两个值比较容易理解:master是可写(当然也可读),slave是可读(不可写)。preferslave是优选可读状态:只要上面的ip:port列表有一个可读状态的实例,则优选进行连接,除非所有的可读实例都不可连接(比如所有备机宕机),才会去连接可写节点。

常见写场景配置

loadbalancehosts=false&targetservertype=master

loadbalancehosts参数默认是false,可不用配置,此时应用层可以进行写操作。

参考代码如下

此时192.168.137.101、192.168.137.102、192.168.137.103三个节点无论角色如何发生切换,应用层可自动找到master角色进行写操作,下面是测试截图:

  • master在192.168.137.101上

  • master在192.168.137.102上
    image.png

  • master在192.168.137.103上

常见读场景配置

loadbalancehosts=true&targetservertype=preferslave

下面对比测试下targetservertype=slave与targetservertype=preferslave的区别

  • targetservertype=slave
  • targetservertype=preferslave
    image.png
    从上面两个测试截图可以看出:当所有读写节点都正常提供服务时,targetservertype=preferslave会优先选择读节点,而不会去连接写节点。

接下来关闭读节点192.168.137.102之后进行测试
image.png
可以看到关闭读节点192.168.137.102后,targetservertype=preferslave还是会只去连接剩下的读节点192.168.137.103,而不会连接写节点192.168.137.101

再同时关闭读节点192.168.137.102和192.168.137.103之后进行测试

可以看到同时关闭读节点192.168.137.102和192.168.137.103后,targetservertype=preferslave最后会去连接写节点192.168.137.101

最后修改时间:2022-10-23 10:27:23
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
1人已赞赏
【米乐app官网下载的版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

网站地图