heisen
deepin
2020-06-27 04:07 本帖最后由 ybaojun 于 2020-6-26 20:09 编辑
codis工作原理
codis部署拓扑方案
codis工作原理
假如现在有一条数据在codis环境中没有找到,java程序去mysql中读取到了这条数据,然后要将这条数据缓存到codis。
此时数据会被发往codis-proxy,proxy会根据算法将数据存放在对应的slot中,(也就是存放在下面的某一个redis组中),并将存放在哪个组中的记录写入zookeeper。
比如要存放在第二个组中,那么proxy会将数据转发到第二个组的master服务器,是的,是直接转发到第二个组的master服务器,而不是转发给哨兵,因为在这套环境中哨兵最少可以只保留一个(如果不考虑高可用),那你转发给哨兵,哨兵可能也不知到找谁
那么你可能就会有一个疑问,proxy是怎么把数据准确的转发给这个组中的master服务器的呢,而不是slave?实际上codis-proxy一直在监听哨兵的选举信息,并记录新的选举信息到zookeeper。
假设现在某一个组的master宕机了,哨兵会通知slave master挂了,需要一个slave升级为master,并告诉其他slave指向新的master,然而这一切都被有心人codis-proxy记录到zookeeper中,并且在下次数据转发到该组时,就能够准确的找到master了
codis部署拓扑方案

Reply Like 0 View the author


中文 
Codis简介
Redis 讲解
什么是redis主从?
什么是redis哨兵?
codis 讲解什么是codis?
codis 组件:
一楼继续更