博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
消息中间件概述
阅读量:6945 次
发布时间:2019-06-27

本文共 1168 字,大约阅读时间需要 3 分钟。

1.什么是中间件?

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

2.什么是消息中间件?

  关注于数据的发送与接收,利用高校可靠的异步消息传递机制集成分布式系统。图示如下:

      

 

3.什么是JMS?

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

4.什么是AMQP?

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

 5.JMS与AMQP对比

     

6.常见消息中间件对比

     

 

 7.JMS规范

 JMS相关概念:

  提供者:实现JMS规范的消息中间件服务器

  客户端:发送或者接受消息的应用程序

  生产者/发布者:创建并发送消息的客户端

  消息者/订阅者:接受并处理消息的客户端。

  消息:应用程序之间传递的数据内容

  消息模式:在客户端之间消息传递的方式,JMS定义了主题和队列两种模式

7.1消息模式-队列模型

  客户端包括生产者和消费者

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

  消费者可以随时消费队列中的消息(可以不用预先预定此消息)

  

7.2消息模式-主题模式

  客户端包括发布者和订阅者

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

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

·

  (图中需要订阅者先订阅主题,然后发布者发布消息,因为鼎业这不能消费订阅之前就发送的消息)

 

7.3JMS编码接口

ConnectonFactory:用于创建连接到消息中间件的连接工厂

Connection:代表了应用程序和消息服务器之间的通信链路

Destination:指消息发布和接收的地点,包括队列和主题

Session:表示一个单线程的上下文,用于发送和接收消息

 

MessageConsumer:由Session创建,用于接收到发送到目标的消息

MessageProducer:由Session创建,用于发送消息到目标

Message:是在生产者和消费者之间传送的对象,由消息头(必须存在)、一组消息属性和一个消息体组成。

 

7.4JMS编码接口之间的关系

 

   Connection是可以被多个线程共享的,一个Connection创建多个Session,每个Session属于一个线程上下文。也就是Connection可被其他线程共享,而Session是单线程的,只在当前上下文有效,可以进行一些事务操作。Session也可以创建消息。

 

转载地址:http://ldanl.baihongyu.com/

你可能感兴趣的文章
Android <Android应用开发实战> 资源类型<二>
查看>>
日期选择器datetimepicker--选择时分秒
查看>>
[SCOI2010]幸运数字
查看>>
关于EF Unit of Work Repository的简单用法
查看>>
数组,排序,枚举
查看>>
内置方法
查看>>
JVM系列五:JVM监测&工具[整理中]
查看>>
第二周
查看>>
quick-cocos2d-x3.2 scheduler使用注意事项
查看>>
freemarker写select组件(二)
查看>>
微信小程序 app.json 配置
查看>>
ROCKETMQ——2主2从集群部署
查看>>
从51aspx首页上提取的qq和阿里旺旺在线客服
查看>>
横向纵向菜单制作 Jquery
查看>>
一些做设计挺不错的网站
查看>>
js事件
查看>>
Webpack+Typescript 简易配置
查看>>
docker 中nginx域名解析,反向代理
查看>>
【112】生活新体验
查看>>
用Python3发送邮件详解
查看>>