java程序验证副本集读写分离

问题1:为什么我只配置了从节点的地址,也可以插入数据啊,不是说只有主节点才行写入数据的吗?

链接地址只配置一个从节点,但是还是可以写入数据,原因是驱动里面做了一些操作,会去自动找到副本集的主节点,进行数据插入。


问题2:那我怎么验证读取的操作是优先读取从节点的呢?

将节点停到只剩下2个,这个时候就不会去选举主节点,2个都是从节点,然后设置client.setReadPreference(ReadPreference.primary());

所有操作都操作主节点,这个时候再去写入数据,是写入不进去的,由此证明写入操作只有主节点才可以。读取数据也是不行的。

然后又设置client.setReadPreference(ReadPreference.secondary());从节点读取数据,再去读取是可以的。由此证明设置操作优先级是有效的 。


或者配置5个节点,1个主节点,2个从节点,2个仲裁节点,将2个从节点停掉,那么此时设置client.setReadPreference(ReadPreference.secondary());从节点读取数据

数据是读取不到的,因为从节点都已经停掉了,仲裁节点是不存储数据的,由此证明设置操作优先级是有效的 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值