消息协议

简介: 消息协议

消息协议

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中传输的数据对象
相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
EMQ
|
8月前
|
Linux 网络性能优化
MQTT 5.0 报文解析 03:SUBSCRIBE 与 UNSUBSCRIBE
在 MQTT 中,SUBSCRIBE 报文用于发起订阅请求,SUBACK 报文用于返回订阅结果。而 UNSUBSCRIBE 和 UNSUBACK 报文则在取消订阅时使用。相比于取消订阅,订阅操作更加常用。不过在本文中,我们仍然会一并介绍订阅与取消订阅报文的结构与组成。
EMQ
412 9
MQTT 5.0 报文解析 03:SUBSCRIBE 与 UNSUBSCRIBE
EMQ
|
8月前
|
运维 Linux 网络性能优化
MQTT 5.0 报文解析 05:DISCONNECT
在 MQTT 中,客户端和服务端可以在断开网络连接前向对端发送一个 DISCONNECT 报文,来指示连接关闭的原因。客户端发送的 DISCONNECT 报文还可以影响服务端在连接断开后的行为,例如是否发送遗嘱消息,是否更新会话过期间隔。
EMQ
205 0
MQTT 5.0 报文解析 05:DISCONNECT
|
5月前
|
消息中间件 存储 监控
AMQP 与其他消息协议的对比分析
【8月更文第28天】高级消息队列协议 (AMQP) 是一种开放标准的应用层协议,主要用于消息中间件。本文将对比分析 AMQP 与其他流行的协议如 MQTT 和 RMQ(通常指的是 RabbitMQ),探讨它们的特点以及适合的应用场景。
108 0
|
7月前
用UDP协议实现发送接收的网络聊天室
用UDP协议实现发送接收的网络聊天室
58 0
EMQ
|
8月前
|
开发工具
MQTT 5.0 报文解析 04:PINGREQ 与 PINGRESP
除了用于连接、发布和订阅的控制报文,MQTT 还有一类报文用于在客户端和服务端之间模拟心跳,以达到保持连接的目的,它们分别是 PINGREQ 报文和 PINGRESP 报文,我们通常也会称它们为心跳报文。
EMQ
264 0
MQTT 5.0 报文解析 04:PINGREQ 与 PINGRESP
|
8月前
|
物联网 Go 网络性能优化
MQTT协议本身支持多种消息收发模式
MQTT协议本身支持多种消息收发模式【1月更文挑战第24天】【1月更文挑战第120篇】
187 3
|
数据库
SIP 协议消息应答代码解释详录
SIP 协议消息应答代码解释详录
|
消息中间件 存储 安全
zeromq怎么一个端口发送多个主题
我们这里使用czmq4 版本处理。 在CZMQ的版本4中,在一个端口上发布多个订阅主题。这是通过使用PUB/SUB模式实现的。在这种模式下,一个或多个发布者将消息发布到一个或多个主题,然后一个或多个订阅者可以订阅一个或多个主题来接收消息。
191 0
|
消息中间件 物联网 Linux
Msgrcv 接收消息|学习笔记
快速学习 Msgrcv 接收消息
|
XML Linux C语言
Mavlink 通讯协议与新消息生成方法
Mavlink 通讯协议与新消息生成方法
Mavlink 通讯协议与新消息生成方法

热门文章

最新文章