?????????lovoffsetSQ??????failover?????????????????????????????????
Apache RocketMQ???????????????????????????????????????????????????????????????????????????????????????RocketMQ???????????????????????????????????????????????????RocketMQ?????????????????????
????????????????????????????????????Kafka?????????????????????????????????????????????????????????????????????????????????RocketMQ???????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????Commit Log???????????????????????????????????????????????????????????????????????????????????????Commit Log?????????????????????????????????????????????
???????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????IOWAIT?????????????????????????????????????????????????????????
???????????????????????????????????????????????????????????????????????????????????????????????????Consume Queue?????????Commit Log??????????????????????????????Commit Log???Consume Queue???????????????????????????????????????????????????????????????????????????
?????????????????????????????????PAGECACHE?????????IO????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
??????PAGECACHE?????????????????????1k????????????????????????????????????????????????????????????????????????????????????????????????????????????Commit Log?????????????????????IO?????????????????????NOOP???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????5??????????????????4k????????????????????????????????????????????????????????????8K????????????????????????????????????Consume Queue????????????????????????????????????????????????PAGECACHE??????????????????Consume Queue???????????????????????????????????????????????????????????????????????????Consume Queue??????????????????????????????Commit Log????????????????????????????????????????????????????????????mysql???Oracle???redolog??????????????????Commit Log??????Consume Queue????????????????????????????????????????????????????????????????????????RocketMQ???????????????????????????????????????????????????PAGECACHE??????????????????????????????????????????????????????????????????????????????????????????????????????
????????????
??????RAID??????SAS 15000???????????????????????????????????????????????????300M??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????IO???????????????IO??????????????????????????????????????????????????????????????????????????????????????????????????????????????????
???????????????PAGECACHE???????????????????????????????????????????????????PAGE?????????????????????????????????????????????LRU?????????????????????????????????????????????PAGECACHE??????????????????????????????????????????????????????????????????32???PAGE????????????????????????PAGE????????????????????????????????????????????????????????????
???????????????????????????????????????????????????????????????PAGECACHE?????????????????????????????????????????????????????????????????????????????????????????????
??????PAGECACHE?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????RocketMQ?????????Message Id????????????Message Key????????????
??????Message Id????????????
??????????????????MsgId??????16????????????????????????????????????????????????Commit Log offset??????MsgId????????????Broker????????????Commit Log????????????????????????????????????????????????????????????buffer?????????????????????????????????
??????Message Key????????????
RocketMQ???????????????????????????Key???????????????????????????????????????????????????????????????????????????????????????????????????
???????????????key???hashcode%slotNum??????????????????????????????slotNum???????????????????????????????????????????????????????????????????????????slotNum=5000000????????????slotValue???slot??????????????????????????????????????????????????????????????????????????????slotValue????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????32????????????Hash???????????????key???slot??????????????????????????????????????????????????????key???hash?????????key???hash??????????????????????????????????????????????????????????????????key???hash??????????????????????????????????????????????????????????????????key???hash??????????????????????????????key???hash??????????????????hash?????????????????????????????????hash????????????key?????????????????????????????????????????????????????????????????????key??????????????????????????????????????????????????????????????????????????????????????????????????????????????????key???????????????????????????????????????????????????????????????????????????????????????????????????-?????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ???????????????????????????RocketMQ???????????????????????????????????????????????????????????????????????????????????????????????????Consume Queue??????????????????
???Broker?????????Message Tag??????????????????Consume Queue??????????????????Message Tag????????????Message Tag??????????????????????????????????????????????????????????????????Consumer????????????Message Tag?????????????????????Consume Queue???????????????????????????hashcode????????????????????????hashcode???Consumer???????????????????????????????????????????????????Broker??????????????????????????????????????????Message Tag?????????????????????Hashcode?????????????????????????????????
Message Tag??????Hashcode???????????????Consume Queue???????????????????????????????????????????????????????????????Commit Log?????????????????????????????????????????????????????????????????????Hash?????????????????????Consumer????????????????????????????????????????????????????????????????????????????????????????????????RocketMQ??????????????????????????????????????????????????????????????????????????????????????????????????????hash????????????????????????????????????????????????????????????
???????????????????????????????????????
????????????????????????????????????FailOver?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????Aliware MQ??????????????????
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? MQ ????????????????????????????????????30????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
RocketMQ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
??????????????????????????????????????????RocketMQ???????????????RocketMQ????????????????????????????????????????????????????????????????????????????????????????????????????????????