消息中间件 定义以及作用
消息中间件的作用是为了:
1.解耦:
2.异步:
3.横向扩展
4.安全可靠;
5可以保证顺序(Kafka)
什么是消息中间件:关注于数据的发送和接收,利用高效可靠的异步消息传递机制集成分布式系统。
关注与数据的发送和接收,利用高效的可靠地异步消息传递机制集成分布式系统、
JMS
Java Message Service —java消息服务
是一个java平台中关于面向消息中间件的API,用于在两个应用程序之间或者分布式系统中发送消息,进行异步通信。
常见的消息中间件对比:
都支持数据持久化
JMS规范:
提供者:实现JMS规范的消息中间件服务器;
客户端:发送or接收消息的应用程序;
生产者、发布者:创建并发布消息的客户端。
消费者、订阅者:接收并处理消息的客户端;
消息:应用程序之间传递的数据内容;
消息模式:在客户端之间传递消息的方式,JMS中定义了主题和队列两种模式。
JMS中的消息模式
根据上图可以看出,队列模式中,两种应用均摊所有的JMS队列。
主题模型中,订阅者需要提前去订阅JMS主题,并且每一个应用收到的消息是完整的消息。
JMS编码接口
一个Connection可以创建多个Session,Session中是一个会话就只有一个。
整个流程: