消息协议

简介: 消息协议

消息协议

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
目录
相关文章
|
2月前
用UDP协议实现发送接收的网络聊天室
用UDP协议实现发送接收的网络聊天室
22 0
|
3月前
|
前端开发 网络协议 JavaScript
如何在前端实现WebSocket发送和接收TCP消息(多线程模式)
请确保在你的服务器端实现WebSocket的处理,以便它可以接受和响应前端发送的消息。同时,考虑处理错误情况和关闭连接的情况以提高可靠性。
166 0
|
3月前
|
物联网 Go 网络性能优化
MQTT协议本身支持多种消息收发模式
MQTT协议本身支持多种消息收发模式【1月更文挑战第24天】【1月更文挑战第120篇】
68 3
|
数据库
SIP 协议消息应答代码解释详录
SIP 协议消息应答代码解释详录
|
存储 网络协议 物联网
C语言代码封装MQTT协议报文,了解MQTT协议通信过程
MQTT是一种轻量级的通信协议,适用于物联网(IoT)和低带宽网络环境。它基于一种“发布/订阅”模式,其中设备发送数据(也称为 “发布”)到经纪人(称为MQTT代理),这些数据被存储,并在需要时被转发给订阅者。这种方式简化了网络管理,允许多个设备在不同的网络条件下进行通信(包括延迟和带宽限制),并支持实时数据更新。它是开放的,可免费使用并易于实施。
358 0
|
XML Linux C语言
Mavlink 通讯协议与新消息生成方法
Mavlink 通讯协议与新消息生成方法
Mavlink 通讯协议与新消息生成方法
|
消息中间件 RocketMQ 开发者
发送单向消息|学习笔记
快速学习发送单向消息
71 0
|
网络性能优化
mqtt协议中的发送消息的一个报文简单解释
mqtt协议中的发送消息的一个报文简单解释
670 0
mqtt协议中的发送消息的一个报文简单解释
|
网络协议 算法 API
网络协议之:WebSocket的消息格式
网络协议之:WebSocket的消息格式
|
网络协议 算法 网络性能优化
我的mqtt协议和emqttd开源项目个人理解(15) - MQTT消息推送协议应用数据包超时是否需要重发?
我的mqtt协议和emqttd开源项目个人理解(15) - MQTT消息推送协议应用数据包超时是否需要重发?
343 0