程序猿阵线联盟-汇总各类技术干货Java技术升华程序员

消息中间件(一)--介绍

2018-06-20  本文已影响49人  我可能是个假开发

消息中间件(一)--介绍

一、为什么使用消息中间件

1.通过服务调用让其它系统感知事件发生

服务调用的耦合.PNG

2.通过消息中间件解耦服务调用

利用消息中间件解耦服务.PNG

此种方式,用户不需要等待短信服务和积分等其他服务处理完成才返回登录结果了。

3.消息中间件带来的好处

①解耦
②异步
③横向扩展
④安全可靠
⑤顺序保证

二、消息中间件概述

1.什么是中间件?

非底层操作系统软件,非业务应用软件,不是直接给最终用户使用的,不能直接给客户带来价值的软件统称为中间件。

2.什么是消息中间件?

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

消息中间件.PNG

3.什么是JMS

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

4.什么是AMQP

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

JMS与AMQP对比.PNG

三、常见消息中间件

1.ActiveMQ

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

ActiveMQ特性:

2.RabbitMQ

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

RabbitMQ特性:

3.Kafka

Kafka是一种高吞吐量的分布式发布订阅消息系统,是一个分布式、分区的、可高的分布式日志存储服务。它通过一种独一无二的设计提供了一个消息系统的功能。

Kafka特性:

各个消息中间件对比.PNG

四、JMS规范

1.Java消息服务定义

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

2.JMS相关概念

3.JMS消息模式:队列模式

队列模型示意图:

队列模型示意图.PNG

4.JMS消息模式:主题模型

主题模型示意图:

主题模型示意图.PNG

5.JMS编码接口

JMS编码接口之间的关系:

JMS编码接口之间的关系.PNG
上一篇 下一篇

猜你喜欢

热点阅读