RabbitMQ 相关概念及简述

总结自:BV15k4y1k7Ep

RabbitMQ 是一款常用的消息队列(MQ)。

什么是消息队列

MQ 全称为 Message Queue,消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信。

消息队列中间件是分布式系统中重要的组件,主要解决应用耦合异步消息流量削锋等问题(参见消息队列作用)。

1.2. AMQP 和 JMS

MQ 是消息通信的模型;实现 MQ 大致有两种主流方式:AMQP、JMS。

1.2.1. AMQP

AMQP 是一种协议,更准确的说是一种 binary wire-level protocol(链接协议)。这是其和 JMS 的本质差别,AMQP 不从 API 层进行限定,而是直接定义网络交换的数据格式。

1.2.2. JMS

JMS 即 Java 消息服务(JavaMessage Service)应用程序接口,是一个 Java 平台中关于面向消息中间件(MOM)的 API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。

1.2.3. AMQP 与 JMS 区别

  • JMS 是定义了统一的接口,来对消息操作进行统一;AMQP 是通过规定协议来统一数据交互的格式。
  • JMS 限定了必须使用 Java 语言;AMQP 只是协议,不规定实现方式,因此是跨语言的。
  • JMS 规定了两种消息模式;而 AMQP 的消息模式更加丰富。

1.3. 消息队列产品

市场上常见的消息队列有如下:

  • ActiveMQ:基于 JMS
  • ZeroMQ:基于 C 语言开发
  • RabbitMQ:基于 AMQP 协议,Erlang 语言开发,稳定性好
  • RocketMQ:基于 JMS,阿里巴巴产品
  • Kafka:类似 MQ 的产品;分布式消息系统,高吞吐量

1.4. RabbitMQ

RabbitMQ 是由 Erlang 语言开发,基于 AMQP(Advanced Message Queue Protocol 高级消息队列协议)协议实现的消息队列,它是一种应用程序之间的通信方法,消息队列在分布式系统开发中应用非常广泛。

RabbitMQ 官方地址:http://www.rabbitmq.com/

RabbitMQ 提供了 6 种模式:

  1. 简单模式;
  2. Work queues 工作队列模式;
  3. Publish/Subscribe 发布与订阅模式;
  4. Routing 路由模式;
  5. Topics 主题模式;
  6. RPC 远程调用模式(远程调用,不太算 MQ)。

官网对应模式介绍:https://www.rabbitmq.com/getstarted.html

1555988678324

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/787094.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RabbitMQ 入门示例

参考:BV15k4y1k7EpRabbitMQ 相关概念及简述中简单介绍了 RabbitMQ 提供的 6 种工作模式。下面以简单模式为例,介绍 RabbitMQ 的使用。 新建工程 先新建 Maven 工程 RabbitMQ 作为父工程,在父工程下新建三个子模块:common:公共包 producer:生产者 consumer:消费者在三个模…

Kubernetes大规模集群

Kubernetes资源限制 Kubernetes 单个集群支持的最大节点数为 5,000。Kubernetes标准的配置:每个节点的 Pod 数量不超过 110 节点数不超过 5,000 Pod 总数不超过 150,000 容器总数不超过 300,000你可以通过添加或删除节点来扩展集群。集群扩缩的方式取决于集群的部署方式 以下集…

WEB开发技术演变

什么是web开发 Web开发指的是网页系统开发,一说到网页,我想大概大部分人都会熟悉www,每次在浏览器中输入网址时,总会先输入www,这里其实是World Wide Web的简称,现在也简称Web, web技术发展 静态网页时代 1994年,网景公司(Netscape)发布了Navigator浏览器0.9版。这是…

go语言免杀-garble混淆

go语言免杀-garble混淆,禁止转载。题记 “愿先生心境,四季如春”作者回答:剑来之所以最大宗旨,是“我们不要轻易对这个世界失望”,因为道理太简单不过了,我们每个人在现实生活当中,太容易对人对事,产生大大小小的失望。而“愿先生心境四季如春”这句话,以后在书中会被…

delphi dxCameraControl控件(拍照)

拍照演示 DevExpressVCL 组件之一TdxCameraControl Object Hierarchy Properties Methods Events一个摄像头控件 Unit dxCameraControlSyntaxTdxCameraControl = class(TdxCustomCameraControl)Descrition该控件允许您捕捉视频或图像从内置/连接的网络摄像头或设备、前后…

sentinel-服务接入原理

通过sentinel前世今生介绍,我们知道了sentinel流控主要是依赖sentinel-core,但是我们生产环境往往需要动态更新流控规则所以需要集成nacos、zookeeper、redis、mysql、等中间存储。配置的复杂性和规则的复杂性我们需要可视化的方式对规则进行管理,我们需要集成dashboard。 这…

*2024.8.25 鲜花

没啥文采,写的不好。NTERNET OVERDOSE この混沌とした 令和のインターネットを照らす 一筋の光 電子の海を漂うオタクに笑顔を 未来の平和をお約束 躁鬱だけどまかせとけ インターネット・エンジェル ただいま降臨 社会をやめろ 家族をやめろ 人間関係をやめろ 今すぐ薄暗い部…

5分钟说透chatgpt

5分钟说清楚 ——到底它为啥能这么火? ——到底牛逼在哪? ——到底我能用来干嘛?把“他”想象成一个博览群书的人 想象一下,现在有一个知识非常渊博的一个人,博览群书,掌握了绝大多数的人类文本知识。(没错,chatgpt确实就是掌握了这么多,而且随着模型的增长,他会看更…

sentinel-前世今生

方便理解sentinel,假如我们自己要实现一套sentinel sentinel前世今生 方便理解sentinel,假如我们自己要实现一套sentinel 第一阶段 一心助手业务服务出现异常,通过监控大盘,发现超过自身服务能够承载的流量,导致请求出现大量排队,服务阻塞,进而导致其他依赖服务出现雪崩效应…

2024.8.25 鲜花

没啥文采,写的不好。NTERNET OVERDOSE この混沌とした 令和のインターネットを照らす 一筋の光 電子の海を漂うオタクに笑顔を 未来の平和をお約束 躁鬱だけどまかせとけ インターネット・エンジェル ただいま降臨 社会をやめろ 家族をやめろ 人間関係をやめろ 今すぐ薄暗い部…

zabbix-grafana配置

一、grafana 安装配置 安装grafana # yum install -y https://dl.grafana.com/oss/release/grafana-11.1.4-1.x86_64.rpm启动grafana # systemctl start grafana-servergrafana 在线安装 zabbix 插件,重启grafana服务 # grafana-cli plugins list-remote | grep -i zabbix id:…

Neo-GNNs: Neighborhood Overlap-aware Graph Neural Networks for Link Prediction

目录概符号说明MotivationNeo-GNN代码Neo-GNNs: Neighborhood overlap-aware graph neural networks for link prediction. NeurIPS, 2021.概 一种计算上相对高效的, 同时利用结构信息和特征信息的链接预测模型. 符号说明\(\mathcal{G} = (\mathcal{V}, \mathcal{E})\), graph;…