mycat 两主N从且读写分离配置如何写?

发布于 2022-09-06 11:00:35 字数 358 浏览 21 评论 0

假设有5台机器分别为

master1:192.168.0.1
master2:192.168.0.2
node1:192.168.0.3
node2:192.168.0.4
node3:192.168.0.5

目的:我需要两台主库master1,master2为写库且互为主备,三个node节点均为从库,读的时候,优先读不忙的主库以及从库,因为有主从延迟的问题,所以从库可能没有数据,这种情况下选择balance="1"还是balance="0"???

如果是balance="1"是随机在一个不忙的主库和三个从库中随机读还是优先读writeHost???

是否有更好的解决方案?同时最好能附上配置的写法,谢谢!!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

甜嗑 2022-09-13 11:00:35

读写分离当然就选balance=1啊,等于0就是不开启读写分离了,并且双主模式建议写不是真的非常高的话writeType=0,只写一个主master1,避免一些网络或者其他不可预知的bug导致数据不一致的情况,读写分离就用另一个master2和剩下的slave分担读请求,这时候读请求在master2和slave上没有谁比谁优先的问题
另外如果网络或者磁盘io跟不上导致主从延迟的情况,而读请求又要求比较高的实时性,那就使用事务控制吧,mycat会把事务发送到负责写的主库上。我的配置:

<dataHost name="db1" maxCon="2000" minCon="50" balance="1" writeType="0" dbType="mysql" dbDriver="native" >
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文