赞
踩
高可用架构中主要两块:主从同步和故障转移
一、主从同步的意义
二、数据同步
主从怎么关联到一起?
2.1、主从同步
2.2、flushDiskType (刷盘类型)
通常会把master和slave 配置成异步刷盘,主从之间同步复制,即同步复制+异步刷盘
2.3、主从同步流程
三、故障转移
之前的RocketMQ版本,只要master/slave 一种部署方式,一组的broker中有一个master多个slave,slave通过同步复制/异步复制方式去同步master的数据,master/slave 提供了一定的高可用。
但是这样的模式有一定的缺点,比如故障转移,如果master挂了,还需要人为手动进行切换,无法自动slave转换为master。
如果要实现自动故障转移,根本上要解决的问题就是自动选主的问题。
RocketMQ目前是利用Dledger技术解决自动选主的问题,Dledger就是基于raft协议,它的优点是不需要引入外部组件,自动选主逻辑集成到各个节点进程中,节点之间通信就可以完成选主。
这种情况下,commit log 是 Dledger管理的,具有选主功能。
Dledger配置
开启Dledger功能,默认是false,如果需要开始主从切换,则需要配置相关参数:
# 是否启用DLedger enableDLegerCommitLog=true
# DLedger Raft Group的名字
dLegerGroup=broker-a
# DLedger Group内各节点的地址和端口,至少需要3个节点
dLegerPeers=n0-192.168.44.163:10911;n1-192.168.44.164:10911;n2- 192.168.44.165:10911
# 本节点ID
dLegerSelfId=n0
四:RocketMQ特性
1、单机可以支撑上万个队列的管理
2、上亿级的消息堆积能力,在海量的消息情况下,不影响收发性能
3、具有多副本容错机制,消息可靠性高,数据安全
4、快速横向扩容
5、保证消息的有序性
6、支持push和pull 两种模式
7、支持广播和集群消费
8、低延迟:客户端消息低延迟控制在10ms以内
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。