关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

消息协议

发布时间:2023-06-26 14:00:23

消息协议

AMQP(高级消息队列协议)的重要组件

  • Message:消息服务器处理的基本单元
  • Publisher(生产者):向交换机发布消息的程序
  • Exchange(交换器):接受生产者消息并传递给消息路由的队列
  • Binding:将消息队列与交换器绑定关联
  • VirtualHost:它是消息队列以及相关对象的集合
  • Broker(消息代理):表示消息队列服务器实体,接受客户端连接,实现 AMQP 消息 队列和路由功能的过程
  • Routing Key:确定VirtualHost与message的路由关系
  • Queue:用来保存消息
  • Connection:客户端与队列服务器之间建立的TCP连接
  • Channel:AMQP的命令都是通过信道发布的;多路复用TCP连接中的双向数据流通道,Channel是建立在真实的TCP连接中的虚拟连接
  • Consumer:从消息队列获取消息的程序
  • AMQP基础模型:

AMQP协议分层

  • 0-9分为功能层,传输层;
    • 功能层定义了许多命令
    • 传输层将功能层传递的消息进行处理,包括括信道用、同步、内容编码、 跳检测、数据表和错误处理
  • 0-10分为模型层,会话层,传输层;
    • 模型层提供了命令
    • 会话层将命令从客户端传递给服务器,这个过程提供了可靠、同步机制、错误处理
    • 传输层负责提供帧处 信道复用 、错误检测和数据表示

MQTT(消息队列遥测传输)

  • MQTT的特点是轻量、简单、开放和易于实现。正因为这些特点,使它常应用于很多机器计算 能力有限、低带宽、网络不可靠的远程通信应用场景中
  • MQTT基础模型:

MQTT协议的基础组件

  • 网络连接:提供有序,可靠,基于字节流的双向传输
  • 应用消息:指传输的应用数据,包含两个部分,指主题、负载
  • 主题:应用消息的类型
  • 负载:指订阅者具体接受的消息
  • 客户端:指使用MQTT协议的设备或者程序
  • 服务端:它作为发送消息的客户端束与请求订阅的客户端之间的中介
  • 会话:客户端与服务端建立连接之后就是会话
  • 订阅:订阅与会话关联,包含一个主题过滤器与服务质量等级
  • 主题名:指消息上面的标签,会匹配服务器的多个订阅者客户端
  • 主题过滤器:订阅中包含的表达式,表示相关联的一个或者多个主题
  • MQTT控制报文:通过网络连接发送的信息数据包

其余的消息协议

  • STOMP(流文本定向消息协议),XMPP(可拓展通信与表示协议),等

JMS

  • JMS不属于任何一种消息协议,它是基础消息协议的抽象;类似于JDBC
  • JMS中的消息队列模型
    • 点对点模型:
    • 发布/订阅者模型:
  • JMS中主要的基本概念
    • 生产者:点对点模型指生产者;订阅者发布者指发布者
    • 消费者:点对点模型指消费者;订阅者发布者指订阅者
    • 客户端:指生产、消费消息的Java程序或者对象
    • 队列:容纳消息等待消费的区域,点对点模型的队列
    • 主题:支持一种消息发布给多个订阅者的机制,是订阅者\发布者模式的主题
    • 消息:JMS中传输的数据对象

/template/Home/leiyu/PC/Static