1,什么是消息中间件
在网络通讯中,http 协议默认采用的是同步的方式,也就意为者一个客户端发送请求,必须要等到服务器端处理完成,并且返回结果给客户端,客户端才能继续执行。
在网络延迟情况下,因为服务器端的不可达,客户端也会收到影响。
所以,为避免这种情况,就出现了消息中间件。就出现了面向消息的消息中间件。发送者将消息发送给消息中间件服务器,中间件服务器将消息存储在队列中,在合适的时候再发给接收者。
在这种模式下,发送者和接收者的生命周期不一定一致。
2,消息中间件有什么好处
消息队列中间件是分布式系统中重要的组件,主要解决
应用解耦 异步消息 流量削锋
等问题,实现高性能,高可用,可伸缩和最终一致性架构。目前使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ
3,JMS规范
Java消息服务(Java Message Service),是一个Java平台中面向消息中间件的API 角色划分
1.提供者: 实现JMS规范的消息中间件服务器 (存放消息容器)
2.客户端:发送或接收消息的应用程序
3.生产者/发布者: 创建并发送消息的客户端(向消息容器存放消息)
4.消费者/订阅者:接收并处理消息的客户端
5.消息:应用程序之间传递的数据内容
6.消息模式:在客户端之间传递消息的方式,JMS中定义了队列和主题两种模式 点对点与发布订阅模式。
4,点对点模式
5,发布/订阅模式
6,应用场景
异步处理:
应用解耦
流量削封