暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

主流中间件介绍

小胡的博客 2018-10-12
1266


          ActiveMq是Apache出品,最流行的,能力强劲的开源消息总线,并且它是一个完全支持JSM规范的消息中间件。

         其丰富的API,多种集群构建模式使得它成为业界老牌消息中间件,在中小型企业应用广泛!

         MQ衡量指标:服务性能,数据存储,集群架构 

主备模式:

     利用Zookeeper进行各个节点之间的协调,其中一台对外提供服务,另外一台不对外提供了,当master挂点之后,利用zookeeper选举,将另外一天slave切换至master从而实现高可用。

NetWork模式:

本质是两组主备模式通过网关集成的分布式集群。



        

Kafka是Linkedln开源的分布式发布-订阅 的消息系统,目前属于Apache顶级项目,Kafka主要的特点是基于Pull模式来处理消息消费,最求高吞吐量,一开始的目的就是用于日志手机和传输,0.8版本开始支持复制,不支持事务,对消息的重复,丢失,错误没有严格要求,适合数据量大的互联网公司。

集群模式:


分布式+数据副本,kafka是关注于性能的,对消息的可靠性不是很高。


RocketMQ:

        阿里开源的消息中间件,目前已经孵化为Apache顶级项目,它是纯java开发,具有高吞吐量,高可用性,适合大规模分布式系统的应用的特点,RocketMq思路起源于Kafka,它对消息的可靠性传输以及事务性做了优化,目前在阿里集团广泛应用于交易,充值,流计算,消息推送,日志处理,bonglog分发等场景。

RocketMq支持分布式事务,主从切换,阿里的消费版是需要收费的。


  1. RabbitMq:

       它是使用Erlang语言开发的开源的消息队列系统,基于AMQP协议来实现,AMQP的主要特征是面向消息,队列,路由(点对点,发布订阅),可靠性,安全,AMQP协议更多应用于企业系统内,对数据一致性,稳定性,可靠性要求很高的场景,对性能和吞吐量的要求还在其次。


      1. activemq性能不是很好,面对高并发的情况直接pass掉。

      2. kafka性能好,但是不可靠

      3. rocketmq高性能,可靠性,分布式事务,水平扩展,上亿级别的消息堆积,主从切换,痛点是商业版,收费。

      4. rabbitmq主要特征是面向消息,队列,路由(点对点,发布订阅),可靠性,安全,性能比activemq好

      具体的MQ的对比可参考:https://blog.csdn.net/apanious/article/details/51014396


   


文章转载自小胡的博客,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论