【图解RabbitMQ-2】图解JMS规范与AMQP协议是什么

这篇具有很好参考价值的文章主要介绍了【图解RabbitMQ-2】图解JMS规范与AMQP协议是什么。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🧑‍💻作者名称:DaenCode
🎤作者简介:CSDN实力新星,后端开发两年经验,曾担任甲方技术代表,业余独自创办智源恩创网络科技工作室。会点点Java相关技术栈、帆软报表、低代码平台快速开发。技术尚浅,闭关学习中······
😎人生感悟:尝尽人生百味,方知世间冷暖。
📖所属专栏:图解RabbitMQ


【图解RabbitMQ-2】图解JMS规范与AMQP协议是什么,图解RabbitMQ,rabbitmq,分布式


专栏推荐

  • 专门为Redis入门打造的专栏,包含Redis基础知识、基础命令、五大数据类型实战场景、key删除策略、内存淘汰机制、持久化机制、哨兵模式、主从复制、分布式锁等等内容。链接>>>>>>>>>《Redis从头学》
  • SpringBoot实战相关专栏,包含SpringBoot过滤器、拦截器、AOP实现日志、整合Freemaker、整合Redis等等实战相关内容,多篇文章登入全站热榜、领域热榜、被技术社区收录。链接>>>>>>《SpringBoot实战》

🌟前言

在上一节中学习了消息队列是什么?以及消息队列的应用场景有哪些?那么实现消息队列的方式有哪些呢?那么本篇文章将对JMS规范、AMQP协议两大消息队列实现方式进行简单介绍。


🌟JMS规范

JMS是什么?

以下解释来源于百度百科:

JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。JMS是一种与厂商无关的 API,用来访问收发系统消息,它类似于JDBC(Java Database Connectivity)

个人理解:

JMS是Java平台面向消息中间件的API规范,用来收发消息,类似于JDBC。

图解:
【图解RabbitMQ-2】图解JMS规范与AMQP协议是什么,图解RabbitMQ,rabbitmq,分布式


核心组件

  1. 提供者:实现JMS规范的消息中间件或者JMS接口的实现。
  2. 生产者:消息的发送者。
  3. 消费者:消息的接收者。
  4. 消息:数据对象。
  5. 队列:存储待消费消息的区域。
  6. 主题:支持将消息发送给多个订阅者。

两种模型

点对点模型

  • 组成:由生产者、消息、消息队列、消费者组成。
  • 特点:生产者发送到特定的队列,消费者消费特定队列的一条消息。
    【图解RabbitMQ-2】图解JMS规范与AMQP协议是什么,图解RabbitMQ,rabbitmq,分布式
    发布订阅模型
  • 组成:由发布者、订阅者、主题组成。
  • 特点:发布者发布主题给订阅者。一条消息可以发给多个订阅者。类似于公众号订阅。
    【图解RabbitMQ-2】图解JMS规范与AMQP协议是什么,图解RabbitMQ,rabbitmq,分布式

🌟AMQP协议

AMQP是什么?

以下解释来源于百度百科:

AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。Erlang中的实现有RabbitMQ等。

个人理解:

一种提供统一消息服务的消息队列协议,一种标准。

图解:
【图解RabbitMQ-2】图解JMS规范与AMQP协议是什么,图解RabbitMQ,rabbitmq,分布式


核心组件

  1. Broker(代理器):代理器是AMQP协议的核心组件之一,负责接收、路由和传递消息。代理器代表一个消息中间件节点

  2. Exchange(交换机):交换机是消息的路由中心,用于接收生产者发送的消息并将其路由到一个或多个队列。交换机根据预定义的路由规则,将消息路由到特定的队列或者其他交换机。

  3. Queue(队列):队列是消息的存储和转发载体。消费者从队列中接收消息,并进行处理。消息在队列中按照先进先出的顺序进行存储和转发。

  4. Binding(绑定):绑定是交换机和队列之间的关联关系。通过绑定,将交换机和队列关联起来,并定义特定的路由规则,以确定消息该被发送到哪个队列。

  5. Message(消息):消息是AMQP中的基本单位,包含要传递的数据和相关的元数据。消息由生产者发送给交换机,并最终路由到队列,然后由消费者进行消费。

  6. Channel(通道):通道是在客户端和代理器之间建立的虚拟连接。通过通道,可以在客户端和代理器之间进行可靠的消息传递和操作。

对于AMQP协议先介绍这些,因RabbitMQ基于AMQP协议实现,将会借着RabbitMQ学习AMQP协议更多内容。

🌟写在最后

有关于图解JMS规范与AMQP协议是什么到此就结束了。感谢大家的阅读,希望大家在评论区对此部分内容散发讨论,便于学到更多的知识。


【图解RabbitMQ-2】图解JMS规范与AMQP协议是什么,图解RabbitMQ,rabbitmq,分布式文章来源地址https://www.toymoban.com/news/detail-695168.html

到了这里,关于【图解RabbitMQ-2】图解JMS规范与AMQP协议是什么的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 198、RabbitMQ 的核心概念 及 工作机制概述; Exchange 类型 及 该类型对应的路由规则;了解什么是JMS。

    看RabbitMQ 之前,可以先了解下什么是 JMS。 先简单看下 JMS 是什么,用来对比。 JMS 也是一种消息机制 JMS 规范,属于 Java EE 规范 AMQP ( Advanced Message Queuing Protocol ) 高级消息队列协议 Connection: 代表客户端(包括消息生产者和消费者)与RabbitMQ之间的连接。 Channel: 连接内部的

    2024年02月07日
    浏览(43)
  • RabbitMQ---Spring AMQP

    Spring有很多不同的项目,其中就有对AMQP的支持: Spring AMQP的页面:http://spring.io/projects/spring-amqp 注意这里一段描述: Spring-amqp是对AMQP协议的抽象实现,而spring-rabbit 是对协议的具体实现,也是目前的唯一实现。底层使用的就是RabbitMQ。 添加AMQP的启动器: 在application.yml中添加

    2024年02月11日
    浏览(28)
  • RabbitMQ 消息队列(Spring boot AMQP)

    几种常见MQ的对比: RabbitMQ ActiveMQ RocketMQ Kafka 公司/社区 Rabbit Apache 阿里 Apache 开发语言 Erlang Java Java ScalaJava 协议支持 AMQP,XMPP,SMTP,STOMP OpenWire,STOMP,REST,XMPP,AMQP 自定义协议 自定义协议 可用性 高 一般 高 高 单机吞吐量 一般 差 高 非常高 消息延迟 微秒级 毫秒级 毫秒级 毫

    2024年02月13日
    浏览(44)
  • RabbitMQ(基于AMQP的开源消息代理软件)

    (1)介绍 AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准 高级消息队列协议 ,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。

    2024年02月02日
    浏览(39)
  • (一)RabbitMQ概念-优势、劣势、应用场景 、AMQP、工作原理

    Lison dreamlison@163.com , v1.0.0 , 2023.06.22 RabbitMQ,俗称“兔子MQ”(可见其轻巧,敏捷),是目前非常热门的一款开源消息中间件,不管是互联网行业还是传统行业都广泛使用(最早是为了解决电信行业系统之间的可靠通信而设计)。 高可靠性、易扩展、高可用、功能丰富等 支持

    2024年02月15日
    浏览(52)
  • 理解RabbitMQ中的AMQP-0-9-1模型,全网最全

    Type:交换器的类型。 Durability:(交换器)持久化特性,如果启动此特性,则Broker重启后交换器依然存在,否则交换器会被删除。 Auto-delete:是否自动删除,如果启用此特性,当最后一个队列解除与交换器的绑定关系,交换器会被删除。 Arguments:可选参数,一般配合插件或者

    2024年04月26日
    浏览(43)
  • 理解RabbitMQ中的AMQP-0-9-1模型(1),学web前端开发有前途

    消息中间件代理不仅仅提供了消息接收和消息路由这两个基本功能,还有其他高级的特性如消息持久化功能、监控功能等等。 AMQP-0-9-1模型的基本视图是:消息发布者消息发布到交换器(Exchange)中,交换器的角色有点类似于日常见到的邮局或者信箱。然后,交换器把 消息的副本

    2024年04月28日
    浏览(39)
  • 【漏洞修复】docker 环境下,AMQP Cleartext认证漏洞,rabbitmq明文漏洞修复,超详细

    目录 1、拷贝docker配置文件到本地 2、重新启动容器: 3、添加SSL插件: 4、查看启动结果 5、基于CMF-AMQP-Configuration来生成SSL自签名文件 6、使用JDK的Keytool工具,将服务器公钥转换为JKS格式 7、创建etc/rabbitmq/rabbitmq.conf(如果不存在) 8、添加证书登录用户 9、验证证书有效性 通过

    2024年02月05日
    浏览(39)
  • node-red:使用node-red-contrib-amqp节点,实现与RabbitMQ服务器(AMQP)的消息传递

    回到目录   AMQP,即 Advanced Message Queuing Protocol(高级消息队列协议),是一个网络协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。    AMQP的主

    2024年02月03日
    浏览(39)
  • 解决Qpid与RabbitMQ端口冲突问题(epmd reports: node rabbit’ not running at all),RabbitMQ 3.11修改AMQP端口

    本文以Windows为例讲解如何修改Rabbit MQ默认端口,从而解决Qpid与Rabbit MQ冲突的问题。 RabbitMQ的默认端口如下: 4369 (epmd), 25672 (Erlang distribution) 5672, 5671 (AMQP 0-9-1 without and with TLS) 15672 (if management plugin is enabled) 61613, 61614 (if STOMP is enabled) 1883, 8883 (if MQTT is enabled) 其中AMQP端口5672与

    2023年04月24日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包