rocketmq配置⽂件参数
#broker集名称,⽤于划分broker
brokerClusterName=MQCluster001
#broker名称,⽤于主从配对,相同名称的broker才能做主从设置
brokerName=mq_broker_1
#⽤于标识主从关系,0为主,其他⼤于0的为从(不能⼩于0)master设置0,slave设置1。Master⾓⾊的Broker⽀持读和写,Slave⾓⾊的Broker仅⽀持读,也就是Producer只能和Master⾓⾊的Broker连接写⼈消息:Consumer可以连接Master⾓⾊的Broker,也可以连接Slave⾓⾊的Broker来读取消息。
#Master节点设置
brokerId=0
#Slave节点设置
#brokerId=1
#name server服务器地址及端⼝,可以是多个,分号隔开
namesrvAddr=192.168.1.100:9876读取配置文件失败
#创建topic时,若未指定topic下的队列数,则取该默认值作为默认队列数
defaultTopicQueueNums=8
#是否⾃动创建默认topic,⽣产需保持关闭
autoCreateTopicEnable=true
#是否⾃动创建topic的订阅组,默认开启
autoCreateSubscriptionGroup=true
#broker服务监听端⼝
listenPort=10911
#未消费的持久化消息清理时间点
deleteWhen=04
#持久化消息保存周期(单位:⼩时),超过该周期将被清理
fileReservedTime=24
#单个commitLog⽂件的⼤⼩限制(单位:字节)
全国知名口腔医院mapedFileSizeCommitLog=1073741824
#单个consumeQueue⼤⼩限制(存储的消息条数*每条消息的索引⼤⼩20)
mapedFileSizeConsumeQueue=8000000
#存储使⽤率阀值,当使⽤率超过阀值时,将拒绝发送消息请求
diskMaxUsedSpaceRatio=88
#持久化消息存储根路径
storePathRootDir=/data/store过年作文600字初中
发邮件格式#commitLog⽂件存储路径
storePathCommitLog=/data/store/commitlog
#最⼤消息⼤⼩限制(单位:字节)
maxMessageSize=65536
#commitLog最少刷盘page数
flushCommitLogLeastPages=4
#consumeQueue最少刷盘page数
flushConsumeQueueLeastPages=2
#commitLog刷盘间隔时间
flushCommitLogThoroughInterval=10000
#consumeQueue刷盘间隔时间
flushConsumeQueueThoroughInterval=60000
#处理消息发送线程池⼤⼩
sendMessageThreadPoolNums=128
#处理消息拉取线程池⼤⼩
pullMessageThreadPoolNums=128
#broker⾓⾊(SYNC_MASTER:同步双写Master、ASYNC_MASTER:异步复制Master、SLAVE:Slave)
brokerRole=ASYNC_MASTER
#Slave节点设置
#brokerRole=SLAVE
#刷盘⽅式(ASYNC_FLUSH:异步刷盘、SYNC_FLUSH:同步刷盘)
flushDiskType=ASYNC_FLUSH
2、同步刷盘 or 异步刷盘
RocketMQ的消息最终是是存储到磁盘上的,这样既能保证断电后恢复,⼜可以让存储的消息量超出内存的限制。
从客户端发送消息,⼀开始先写到内存,再写到磁盘上。如下图所⽰
两种策略
同步刷盘:当数据成功写到内存中之后⽴刻刷盘(同步),在保证消息写到磁盘也成功的前提下返回写成功状态。
异步刷盘 :数据写⼊内存后,直接返回成功状态。异步将内存中的数据持久化到磁盘上。
同步刷盘和异步输盘的优劣
同步刷盘
优点:保证了数据的可靠性,保证数据不会丢失。
缺点:同步刷盘效率较低,因为需要内存将消息写⼊磁盘后才返回成功状态。
异步刷盘
优点:异步刷盘可以提⾼系统的吞吐量。因为它仅仅是写⼊内存成功后,就返回成功状态。
缺点:异步刷盘不能保证数据的可靠性。因为写⼊内存成功,但写⼊磁盘的时候因为某种原因写⼊失败,那就会丢失该条消息。
香港刘丹3、同步复制 or 异步复制
如果高中考不上怎么办同步复制和异步复制指的是 Master节点和slave节点 的关系。
如果⼀个Broker组有Master和Slave,消息需要从Master复制到Slave上
两种策略
同步复制: 当数据成功写到内存中Master节点之后⽴刻同步到Slave中,当Slave也成功的前提下返回写成功状态。
异步复制: 当数据成功写到内存中Master节点之后,直接返回成功状态,异步将Master数据存⼊Slave节点。
同步复制和异步复制的优劣:
同步复制 : 数据安全性⾼,性能低⼀点。
异步复制 : 数据可能丢失,性能⾼⼀点。
建议 线上采⽤ 同步复制 + 异步刷盘;
发布评论