zhongjimax

Results 5 comments of zhongjimax

@richardor 数据一致性不是Codis实现的功能,其次Redis的主从复制模式本身就是无法保证master 与 slave间数据同步的绝对一致性。所以这个问题是无法解决。

如果你了解 Redis 主从复制机制就不会考虑在Redis 上做读写分离了。

无论是Codis系统也好,twproxy也好,或是网易,搜狐自己研发的 proxy,都只会访问master节点。slave节点只是用作备用设备,并在master无法提供服务的时候,提升slave为master节点。

@YrlixJoe codis 3.2.2 的 codis-ha 根据个人测试的结果来回答你的问题,不一定很准确,做参考。 作者问_1:当一组redis里master失效后,ha 会剔除该失效的master,并提升原来的slave。修复原受损的master后,无法加入codis系统? 答_1:经本人测试,失效后的master,在人为修复可以加入codis系统,不存在无法加入codis系统的可能性。 作者问_2:想要了解codis-ha的实现机制,是基于redis-sentinel实现的吗? 答_2:ha 不是基于sentinel实现监听、管理、故障转移redis的主从关心,但是实现的方式也是通过心跳来判断。3.2版本的ha与3.0和3.1不同之处在于,会剔除失效Master。需要人为启动并且再次加入Codis系统。 作者问_3:codis-ha在使用时,需要另外以sentinel的模式运行redis吗? 答_3:codis-ha 和 sentinel 是不同的组件,是独立运行的。可以选择其中一个来管理redis的主从关系。 作者问_4:codis-ha的主从切换是怎样的? 答_4:其实就是去监听master节点,当master节点异常后,提升slave为新的master。 作者问_5:后续的数据同步的流程(当原master重启上线再加入到group中时)是怎样的呢? 答_5:上线后的master,作者是想作为slave来使用,还是想作为master来使用。如果是作为slave使用,那么会自动向新的master同步数据,这是redis本身的功能,不是codis的功能。如果作者是想把原来的失效的master加入组后,依然保持master的状态,那么还需要作者人为干预一次故障切换,把原来失效的master再次提升为master。