MQ消息存储选择
從主流的幾種MQ消息隊列采用的存儲方式來看,主要會有三種
1. 分布式KV存儲,比如ActiveMQ中采用的levelDB、Redis, 這種存儲方式對于消息讀寫能力要求不高的情況下可以使用
2. 文件系統存儲,常見的比如kafka、RocketMQ、RabbitMQ都是采用消息刷盤到所部署的機器上的文件系統來做持久化,這種方案適合對于有高吞吐量要求的消息中間件,因為消息刷盤是一種高效率,高可靠、高性能的持久化方式,除非磁盤出現故障,否則一般是不會出現無法持久化的問題
3. 關系型數據庫,比如ActiveMQ可以采用mysql作為消息存儲,關系型數據庫在單表數據量達到千萬級的情況下IO性能會出現瓶頸,所以ActiveMQ并不適合于高吞吐量的消息隊列場景。
總的來說,對于存儲效率,文件系統要優于分布式KV存儲,分布式KV存儲要優于關系型數據庫
?
總結
- 上一篇: Actuator对于JMX支持
- 下一篇: RocketMQ的发展历史