消息中间件

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,应用场景

异步处理:

应用解耦

流量削封

原文地址:https://www.cnblogs.com/pickKnow/p/11396346.html