常用的消息协议

本文介绍了常见的开放式消息协议,如AMQP、MQTT、STOMP和XMPP。AMQP是一个先进的消息队列协议,详细阐述了其基本概念、功能命令和传输层协议,包括消息、生产者、交换器、绑定等核心组件的生命周期。MQTT是用于即时通信的协议,而STOMP是简单的文本消息传输协议,XMPP则是一种基于XML的流式即时通信协议。此外,还提及了JMS——Java平台的面向消息中间件的API接口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 常见开放式协议:AMQP、MQTT、STOMP、XMPP等
  2. 有些特殊框架(Redis,kafka)根据自己的自身需要未严格按照MQ规范,根据TCP/IP自行封装的一套协议
  3. AMQP协议:
    1. Advanced Messages Queueing Protocol (AMQP) 于2004年开发,2006年发布;
    2. 目前AMQP协议的版本是通过两个或者三个数字表示的,格式为major-minor[-revision]或major.minor[.revision]。major 是主版本号,minor是次版本号,revision是可选的修订版本号,他们都可以是0~99之间的一个数字,
    3. AMQP协议内容:基本概念、功能命令和传输层协议
      1. 基本概念:指AMQP内部定义的个组件的功能说明
      2. 功能命令:指该协议所定义的一系列命令,应用程序可以基于这些命令来实现相应的功能
      3. 传输层协议:是一个网络协议,它定义了数据的传输格式,消息队列的客户端可以基于这个协议与消息代理和AMQP的相关模型进行交互通信,该协议的内容包括数据帧处理、信道复用、内容编码、心跳监测、数据表示和错误处理等
    4. 主要概念
      1. Message:消息
      2. Publisher:消息生产者
      3. Exchange:交换器
      4. Binding:绑定
      5. Virtual Host:虚拟主机
      6. Broker:消息代理
      7. Routing Key:路由规则
      8. Queue:消息队列
      9. Connection:连接
      10. Channel:通道
      11. Consumer:消息消费者
    5. 核心组件的生命周期:
      1. 消息的生命周期
        1. 消息的流转过程:Publisher产生一条数据,发送到Borker,Broker中的Exchange可以被理解为一个规则表(Routing-key和Queue的映射关系–Binding)Broker收到消息后根据Routing Key查询投递的目标Queue,Consumer向Broker发送订阅消息时会指定自己监听哪个queue,当收数据到达queue时broker会推送数据到Consumer
      2. 交换器的生命周期
        1. 每台AMQP的服务器都会预先创建许多交换器实例,它们在服务器启动时就存在并且不能被销毁
      3. 队列的生命周期
        1. 持久化消息队列和临时消息队列
        2. 持久化消息队列可被多个消费者共享,不管是否有消费者接收,他们都可以独立存在。
        3. 临时消息队列对某个消费者是私有的,只能绑定到此消费者,当消费者断开连接,该消息队列将被删除
  4. MQTT协议:Message Queuing Telemetry Transport消息队列遥测传输,是一种即时通信协议
  5. STOMP协议:Streaming Text Orientated Messaging Protocol,流文本定向消息协议,是一个简单的文本消息传输协议
  6. XMPP协议:可扩展通信与表示协议,是一种基于XML的流式即时通信协议
  7. JMS:Java Message Service即Java消息服务应用程序接口
    1. Java平台中面向消息中间件的一套规范的Java API接口,用于在两个应用程序之间或分布式系统中发送消息,进行异步通信
    2. 体系架构、
      1. 点对点模型
      2. 发布订阅模型
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

booth-ZDH

爪哇一生

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值