CommitLog(消息内容文件)是以物理文件的形式就行存储,Consume Queue(存储offset的索引)存储消息在CommitLog中的位置信息
RocketMQ的消息存储方式:内存+磁盘存储
两种刷盘方式:
1.异步刷盘:生产者发送消息到消息服务器(Broker),消息只是写到了内存里的pageCach中,然后就返回给生产者发送成功的信息,性能高,当消息占用一定的内存后,会触发一次顺序写机制,快速的将内存里的数据刷到磁盘上。
2.同步刷盘:生产者发送消息到消息服务器(Broker),消息写到了内存里的pageCach后,请求线程阻塞,等到内存中的数据刷到磁盘上后,唤醒阻塞线程,然后就返回给生产者发送成功的信息。
Master-Slave 高可用 brokerid=0是Master节点 其他为从节点
Master具有读写的功能,Slave只有只读功能
当Master繁忙或不可用时,可以自动切换到Slave读取消息