关于Mycat主从环境的问题?
来源:18-4 Mycat实现读写分离-配置与使用

慕容1401898
2024-01-26
老师,如果这里的mycat的配置的读写分离我有两个问题。希望老师指点一下
1.如果我的读写分离配置的是一主来写,三从来负责读。如果我的主节点挂了,是否支持从节点的重新选举来承接主节点负责写呢?
2.还有就是如果我的主节点和从节点如果在不同的机房里边的话,我们都知道机房同步是会有延迟的,如果这个时候主节点写进去了,在还没有来得及向从节点进行同步的话主节点就已经挂了。这个时候是否有好的解决方案?
1回答
-
Er十七
2024-02-06
1、一般我们都会配置从节点是readonly的,确保写操作都在主库上,保证从库接收到写操作造成的数据不一致。所以依赖mycat做单主多从的故障切换一般不可行。可以配置多主多从,多主的
情况下,mycat可以在第一个主挂掉后,选择第二个主做写操作。 switchType = 1表示自动切换。
<dataHost name="host1" maxCon="1000" minCon="10" balance="1" writeType="0" dbType="oracle" dbDriver="jdbc" switchType="1" slaveThreshold="100">
<!--心跳sql-->
<heartbeat>select 1 from dual</heartbeat>
<writeHost host="hostM1" url="jdbc:oracle:thin:@192.168.157.129:1521:oracle11" user="scott" password="kmvcOrc.2019">
<!--<readHost host="slave1" url="jdbc:oracle:thin:@192.168.157.128:1521:oracle11" user="yxc" password="yxc" />-->
</writeHost>
<writeHost host="hostM2" url="jdbc:oracle:thin:@192.168.157.128:1521:oracle11" user="yxc" password="yxc" />
</dataHost>
2、当前主从同步,主写进去了,从没有的问题还是一个常见问题。以下集中常见方案:
第一种,允许短暂时间的数据不存在,当主库重新连接了之后,还是可以从数据库从主数据库的binlog中同步到数据。
第二种,半同步复制, 5.5集成到mysql,以插件的形式存在,需要单独安装,这种方式确保事务提交后binlog至少传输到一个从库了,会有一定的性能影响。
00
相似问题
回答 4
回答 1
回答 1
回答 1
回答 1