一文说清JMS,AMQP,ActiveMQ,RabbitMQ,Kafka,RocketMQ联系( 二 )
文章插图
如何选择消息中间件
文章插图
- ActiveMQ 的社区算是比较成熟 , 但是较目前来说 , ActiveMQ 的性能比较差 , 而且版本迭代很慢 , 不推荐使用 。
- RabbitMQ 在吞吐量方面虽然稍逊于 Kafka 和 RocketMQ, 但是由于它基于 erlang 开发 , 所以并发能力很强 , 性能极其好 , 延时很低 , 达到微秒级 。 但是也因为 RabbitMQ 基于 erlang 开发 , 所以国内很少有公司有实力做erlang源码级别的研究和定制 。 如果业务场景对并发量要求不是太高(十万级、百万级) , 那这四种消息队列中 , RabbitMQ 一定是你的首选 。 如果是大数据领域的实时计算、日志采集等场景 , 用 Kafka 是业内标准的 , 绝对没问题 , 社区活跃度很高 , 绝对不会黄 , 何况几乎是全世界这个领域的事实性规范 。
- RocketMQ 阿里出品 , Java 系开源项目 , 源代码我们可以直接阅读 , 然后可以定制自己公司的MQ , 并且 RocketMQ 有阿里巴巴的实际业务场景的实战考验 。 RocketMQ 社区活跃度相对较为一般 , 不过也还可以 , 文档相对来说简单一些 。 还有就是阿里出台的技术 , 你得应对这个技术万一被抛弃 , 社区黄掉的风险 , 如果你们公司有技术实力我觉得用RocketMQ 挺好的
- Kafka 的特点其实很明显 , 就是仅仅提供较少的核心功能 , 但是提供超高的吞吐量 , ms 级的延迟 , 极高的可用性以及可靠性 , 而且分布式可以任意扩展 。 同时 Kafka 最好是支撑较少的 topic 数量即可 , 保证其超高吞吐量 。 Kafka 唯一的一点劣势是有可能消息重复消费 , 那么对数据准确性会造成极其轻微的影响 , 在大数据领域中以及日志采集中 , 这点轻微影响可以忽略 。 Kafka天然适合大数据实时计算以及日志收集 。
文章插图
AMQP协议模型上图是AMQP协议中一个消息的流转过程 , 画的的很清楚 , 不详细介绍了 。
AMQP核心概念介绍一些AMQP协议常见的概念 。
文章插图
【一文说清JMS,AMQP,ActiveMQ,RabbitMQ,Kafka,RocketMQ联系】如果有用过ActiveMQ和RabbitMQ , 对上面的名词一定不会陌生 。 后面一篇文章就结合RabbitMQ来阐述上面的概念 。
- 麒麟|荣耀新款,麒麟810+4800万超清像素,你还在犹豫什么呢?
- 智能手机市场|华为再拿第一!27%的份额领跑全行业,苹果8%排在第四名!
- 对手|一加9Pro全面曝光,或是小米11最大对手
- 采用|消息称一加9系列将推出三款新机,新增一加9E
- 整形美容|双十一医美不良事件高发 热玛吉风险高 业内:医美职业打假人太少
- 互联网|苏宁跳出“零售商”重组互联网平台业务 融资60亿只是第一步
- 车企|华为不造车!但任正非加了一个有效期,3年
- 王文鉴|从工人到千亿掌门人,征服华为三星,只因他36年只坚持做一件事
- 桌面|日常使用的软件及网站分享 篇一:几个动态壁纸软件和静态壁纸网站:助你美化你的桌面
- 查询|数据太多容易搞混?掌握这几个Excel小技巧,办公思路更清晰