MQ消息存储选择
從主流的幾種MQ消息隊(duì)列采用的存儲(chǔ)方式來(lái)看,主要會(huì)有三種
1. 分布式KV存儲(chǔ),比如ActiveMQ中采用的levelDB、Redis, 這種存儲(chǔ)方式對(duì)于消息讀寫能力要求不高的情況下可以使用
2. 文件系統(tǒng)存儲(chǔ),常見(jiàn)的比如kafka、RocketMQ、RabbitMQ都是采用消息刷盤到所部署的機(jī)器上的文件系統(tǒng)來(lái)做持久化,這種方案適合對(duì)于有高吞吐量要求的消息中間件,因?yàn)橄⑺⒈P是一種高效率,高可靠、高性能的持久化方式,除非磁盤出現(xiàn)故障,否則一般是不會(huì)出現(xiàn)無(wú)法持久化的問(wèn)題
3. 關(guān)系型數(shù)據(jù)庫(kù),比如ActiveMQ可以采用mysql作為消息存儲(chǔ),關(guān)系型數(shù)據(jù)庫(kù)在單表數(shù)據(jù)量達(dá)到千萬(wàn)級(jí)的情況下IO性能會(huì)出現(xiàn)瓶頸,所以ActiveMQ并不適合于高吞吐量的消息隊(duì)列場(chǎng)景。
總的來(lái)說(shuō),對(duì)于存儲(chǔ)效率,文件系統(tǒng)要優(yōu)于分布式KV存儲(chǔ),分布式KV存儲(chǔ)要優(yōu)于關(guān)系型數(shù)據(jù)庫(kù)
?
總結(jié)
- 上一篇: Actuator对于JMX支持
- 下一篇: RocketMQ的发展历史