zoukankan      html  css  js  c++  java
  • 消息中间件

    一,什么是消息中间件

           关注于数据的发送接收,利用高效可靠的异步消息传递机制集成分布式系统

          1.老王最开始讲故事时需要挨个打电话给小红,小黄。有时还有可能打不通。但是通过微信公众号,可以将消息发送到公众号,然后再小红小黄有空的时间再订阅。

       2.登录系统的例子 

            通过服务调用外部系统感知服务在使用消息中间件和不使用的区别:

            a.在不使用的时候,需要逐个调用与登录有关的服务,若果消息服务调用失败,那么登录就失败了。耦合度太高。

              

           b.在使用中间件以后,用消息中间件解耦服务

              

    二:   消息中间件的好处:解耦,异步,横向扩展,安全(消息中间件可以将消息保存),顺序保证。

    三:  JMS(Java Message Service)  是Java平台中面向消息中间件的API,用于两个应用程序之间,或分布式系统中发送消息,进行异步通信。

             AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。Erlang中的实现有 RabbitMQ等。

             1.   JMS和AMQP的区别

             

             

             2.  常见的消息中间件的对比

                  a.   ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。

                  ActiveMQ的特点  : 

          ⒈ 多种语言和协议编写客户端。语言: Java,C,C++,C#,Ruby,Perl,Python,PHP。应用协议: OpenWire,Stomp REST,WS Notification,XMPP,AMQP
          ⒉ 完全支持JMS1.1和J2EE 1.4规范 (持久化,XA消息,事务)
          ⒊ 对Spring的支持,ActiveMQ可以很容易内嵌到使用Spring的系统里面去,而且也支持Spring2.0的特性
          ⒋ 通过了常见J2EE服务器(如 Geronimo,JBoss 4,GlassFish,WebLogic)的测试,其中通过JCA 1.5 resource adaptors的配置,可以让ActiveMQ可以自动的部署到任                            何兼容J2EE 1.4 商业服务器上

          ⒌ 支持多种传送协议:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA
          ⒍ 支持通过JDBC和journal提供高速的消息持久化
          ⒎ 从设计上保证了高性能的集群,客户端-服务器,点对点
          ⒏ 支持Ajax
          ⒐ 支持与Axis的整合
          ⒑ 可以很容易的调用内嵌JMS provider,进行测试

                         11.虚拟主题,组合目的,镜像队列

                   b.  RabbitMQ  是 开源的AMQP实现,服务端用Erlang编写用于分布式系统中存储转发消息,具有易用性,可扩展性,高可用性。

                   c.  kafka  日志服务,要求顺序

                   d.  对比

                       

                                  

  • 相关阅读:
    start tag, end tag issues in IE7, particularly in xslt transformation
    用SandCastle为注释生成chm文档
    Firebug
    架构的重点
    Linux Shell常用技巧(十) 管道组合
    Linux JDK升级
    Linux Shell常用技巧(十二) Shell编程
    Packet Tracer 5.0实验(一) 交换机的基本配置与管理
    Linux Shell常用技巧(六) sort uniq tar split
    Linux Shell常用技巧(二) grep
  • 原文地址:https://www.cnblogs.com/SitongLiu/p/7278841.html
Copyright © 2011-2022 走看看