消息队列技术选型
Posted HelloWorld搬运工
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了消息队列技术选型相关的知识,希望对你有一定的参考价值。
最近公司业务发展,需要对业务结构进行拆分。在业务异步处理的时候用到了消息队列,在此记录一下消息队列的选型过程。根据公司的业务需要,对消息队列有几个要求。第一:消息要能够按生产顺序消费;第二:性能(QPS)要好;第三:消息要能够持久化;最后要尽可能保证数据的幂等性。
主流MQ
MQ,消息队列,Message Queue。现在主流的MQ有很多,比如ActiveMQ、RabbitMQ、RocketMQ、Kafka、ZeroMQ等,下面是对比的情况:
选择RockeMQ
经过对各个MQ产品的对比(主要是Kafka,ActiveMQ,RabbitMQ,RocketMq),最终决定采用RocketMQ,理由如下:
支持严格的消息顺序
支持Topic与Queue两种模式
亿级消息堆积能力
比较友好的分布式特性
同时支持Push与Pull方式消费消息
历经多次天猫双十一海量消息考验
RocketMQ是纯java编写,基于通信框架Netty。
支持严格的消息顺序,这个是选择RocketMQ的首要原因,公司的基础业务需要消息队列要有这个保证,之前都是使用的公司自研的队列。
最后谈下选型的感想,借用58沈老师的话的说,任何脱离业务的架构都是耍流氓,技术选型也是一样,脱离业务的技术选型都是在混时间。另外,选型满足现有和未来可预见的业务和工作需求即可,没必要追求大而全,也没必要追新随大流(大公司潮流)。
以下内容,纯粹凑字数,可以忽略。
最后谈下选型的感想,借用58沈老师的话的说,任何脱离业务的架构都是耍流氓,技术选型也是一样,脱离业务的技术选型都是在混时间。另外,选型满足现有和未来可预见的业务和工作需求即可,没必要追求大而全,也没必要追新随大流(大公司潮流)。
最后谈下选型的感想,借用58沈老师的话的说,任何脱离业务的架构都是耍流氓,技术选型也是一样,脱离业务的技术选型都是在混时间。另外,选型满足现有和未来可预见的业务和工作需求即可,没必要追求大而全,也没必要追新随大流(大公司潮流)。
麻烦点下文章广告谢谢!
以上是关于消息队列技术选型的主要内容,如果未能解决你的问题,请参考以下文章