redis集群与rabbitmq集群

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yangyongdehao30/article/details/83105957

互联网项目中,redis和mq几乎成标配,开源的rabbitmq更加受欢迎,以下记录下相关原理,哪天忘记了 来瞅一眼

redis集群指官方推荐集群方式,最少部署6个节点,会自动进行分片,副本集群。6个节点时,会分3个片,每个片一个副本。

为啥要分3个片呢?----redis集群采用的是哨兵模式,网上文章很多,我这一句话总结:哨兵负责主从之间报信 和选举(低于3个哨兵的投票没有任何意义)。

如果发现主节点 或者从节点有异常,大家马上就知道了。从节点有异常就标记一下,主节点有异常就比较麻烦了,要重新选取新的主节点。(主节点是否挂掉,由哨兵们选举决定,过半的人觉得他挂了,嗯。。他就挂了)。

选择为主节点后,会告诉所有从节点,XX成主节点了,xx成从节点了,并将XX的所有数据都同步到xx中。然后转换完成。

那redis是如何写到不同的主节点的,嗯,他采取了CRC16算法,总的来说会出现2^16次方个值,但基于节省空间的原则,作者选了存储量在20k的2^14次方16384个槽。有N个主节点,算出来的槽在(16384/N)哪个区间内,然后进行读写。嗯,就是分库分表的原理。

rabbitmq集群------采用erlang特性 cookie同步,将对应的.erlang.cookie值设置为相同即可,他们之间的信息就会相互copy。嗯,在我看来就是文件共享。这样所有的节点都是水平分布的,那又是如何确定写入不同的主节点呢

rabbitmq通常需要装一个插件HAProxy代理,性能巨好,通过rabbion算法分配,当然也可以自己定义。当然,使用你ngxin、F5等等都是OK的,只要能扛得住流量

猜你喜欢

转载自blog.csdn.net/yangyongdehao30/article/details/83105957