三种部署方式
2m-noslave: 多Master模式
2m-2s-sync: 多Master多Slave模式,同步双写
2m-2s-async:多Master多Slave模式,异步复制
2m-noslave: 多Master模式
优点:配置简单,单个Master 宕机或重启维护对应用无影响,在磁盘配置为 RAID10 时,即使机器宕机不可恢复情况下,由于RAID10 磁盘非常可靠,消息也不会丢(异步刷盘丢失少量消息,同步刷盘一条不丢)。性能最高。
缺点:单台机器宕机期间,这台机器上未被消费的消息在机器恢复之前不可订阅,消息实时性会受到受到影响。
2m-2s-async:多Master多Slave模式,异步复制
优点:即使磁盘损坏,消息丢失的非常少,且消息实时性不会受影响,因为 Master 宕机后,消费者仍然可以从 Slave 消费,此过程对应用透明。不需要人工干预。性能同多 Master 模式几乎一样。
缺点:Master宕机,磁盘损坏情况,会丢失少量消息。
2m-2s-sync
优点:数据与服务都无单点,Master宕机情况下,消息无延迟,服务可用性与数据可用性都非常高
缺点:性能比异步复制模式略低,大约低10%左右,发送单个消息的 RT 会略高。目前主宕机后,备机不能自动切换为主机,后续会支持自动切换功能。
宕机实验
参数说明
Property Name |
Default value |
Details |
listenPort |
10911 |
端口监听客户端 |
namesrvAddr |
null |
namesrvIP:9876,以;分隔 |
brokerIP1 |
InetAddress for network interface |
本机地址 |
brokerName |
null |
broker 名称 |
brokerClusterName |
DefaultCluster |
集群名 |
brokerId |
0 |
broker id, 0代表 master, >0,代表slave |
storePathCommitLog |
$BROKET_HOME/store/commitlog/ |
提交日志的文件路径 |
storePathConsumerQueue |
$BROKET_HOME/store/consumequeue/ |
用于消费队列的文件路径 |
mapedFileSizeCommitLog |
1024 1024 1024(1G) |
用于提交日志的映射文件大小 |
deleteWhen |
04 |
何时删除超出预留时间的提交日志, |
fileReserverdTime |
48 |
在删除提交日志之前的小时数 |
brokerRole |
主写ASYNC_MASTER、从写SLAVE |
SYNC_MASTER/ASYNC_MASTER/SLVAE |
flushDiskType |
ASYNC_FLUSH |
{SYNC_FLUSH/ASYNC_FLUSH}. SYNC_FLUSH 模式在Broker ack生产者之前将每个消息都放到磁盘上. Broker of ASYNC_FLUSH 模式与之相反,利用异步批量提交的优势,获取更好的性能. |
网友评论