消息队列技术选型

Posted HelloWorld搬运工

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了消息队列技术选型相关的知识,希望对你有一定的参考价值。

最近公司业务发展,需要对业务结构进行拆分。在业务异步处理的时候用到了消息队列,在此记录一下消息队列的选型过程。根据公司的业务需要,对消息队列有几个要求。第一:消息要能够按生产顺序消费;第二:性能(QPS)要好;第三:消息要能够持久化;最后要尽可能保证数据的幂等性。

  • 主流MQ

MQ,消息队列,Message Queue。现在主流的MQ有很多,比如ActiveMQRabbitMQRocketMQKafkaZeroMQ等,下面是对比的情况:

  • 选择RockeMQ

经过对各个MQ产品的对比(主要是Kafka,ActiveMQ,RabbitMQ,RocketMq,最终决定采用RocketMQ,理由如下:

  • 支持严格的消息顺序

  • 支持TopicQueue两种模式

  • 亿级消息堆积能力

  • 比较友好的分布式特性

  • 同时支持PushPull方式消费消息

  • 历经多次天猫双十一海量消息考验

  • RocketMQ是纯java编写,基于通信框架Netty

支持严格的消息顺序,这个是选择RocketMQ的首要原因,公司的基础业务需要消息队列要有这个保证,之前都是使用的公司自研的队列。

最后谈下选型的感想,借用58沈老师的话的说,任何脱离业务的架构都是耍流氓,技术选型也是一样,脱离业务的技术选型都是在混时间。另外,选型满足现有和未来可预见的业务和工作需求即可,没必要追求大而全,也没必要追新随大流(大公司潮流)。


以下内容,纯粹凑字数,可以忽略。

最后谈下选型的感想,借用58沈老师的话的说,任何脱离业务的架构都是耍流氓,技术选型也是一样,脱离业务的技术选型都是在混时间。另外,选型满足现有和未来可预见的业务和工作需求即可,没必要追求大而全,也没必要追新随大流(大公司潮流)。

最后谈下选型的感想,借用58沈老师的话的说,任何脱离业务的架构都是耍流氓,技术选型也是一样,脱离业务的技术选型都是在混时间。另外,选型满足现有和未来可预见的业务和工作需求即可,没必要追求大而全,也没必要追新随大流(大公司潮流)。


麻烦点下文章广告谢谢!

以上是关于消息队列技术选型的主要内容,如果未能解决你的问题,请参考以下文章

关于消息队列的技术选型

金融行业消息队列选型及实践

猛男落泪!消息队列技术选型,RabbitMQ是真的好!

消息队列中间件的技术选型分析

消息队列原理及选型

消息中间件系列第2讲:如何进行消息队列选型?