码迷,mamicode.com
首页 > 其他好文 > 详细

消息中间件

时间:2018-03-19 00:32:05      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:统一   java   width   变现   不同   1.4   http   接口   img   

1、什么是消息中间件?

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

2、什么是JMS? java - api

      Java 消息服务(Java Message Service)即JMS, 是一个Java 平台(不能跨语言)中关于面向消息中间件的API,用户两个应用程序之间,或分布式系统中发送消息,进行异步通信。

3、AMQP协议(为了跨语言) Wire-protocaol, 只支持 byte[] 二进制的消息类型

   AMQP(advanced message queuing protocol) 是一个提供统一消息服务的应用层标准协议,给予此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同开发语言等条件的限制。

4、常用的消息中间件

      <1> ActiveMQ 完全支持JMS1.1与J2EE 1.4规范的JMS Provider实现。

             支持多种语言 Java c c++ c# Ruby Perl Python PHP,支持的应用协议:OpenWire, Stomp REST, WS Notification, Xmpp, AMQP  (没有JMS 因为不是应用协议,只是开发规范)。

      <2> RabbitMQ  是一个开源的AMQP实现,服务器端使用Erlang语言编写,用于在分布式系统中存储转发消息,在易用性和扩展性 高可用等方便变现不俗

             支持多种客户端, 如 Python Ruby .Net  java jms c php等

      <3> kafka  是一种高吞吐量的分布式发布订阅消息系统,是一个分布式的,分区的,可靠地分布式日志存储服务,它通过一种独一无二的设计提供了一个消息系统的功能。不是一个严格的消息中间件,

     主要是用来做日志储存。即使是非常普通的硬件kafka也可以支持每秒数百万的消息。

     比对:

     技术分享图片

5、消息模式

   主题和队列两种模式。

      队列模型: 客户端包含生产者和消费者

                         队列中的消息只能被一个消费者消费

                         消费者可以随时消费队列中的消息

技术分享图片

 

     主题模型:  客户端包括发布者和订阅者

         主题中的消息被所有的订阅者消费

         消费者不能消费订阅之前就发送到主题中的消息

技术分享图片

 

6、JMS 编码接口之间的关系

技术分享图片

 

消息中间件

标签:统一   java   width   变现   不同   1.4   http   接口   img   

原文地址:https://www.cnblogs.com/huxipeng/p/8598310.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!