2023-07-06:RabbitMQ中的AMQP是什么?

news/2024/10/24 1:50:53/

2023-07-06:RabbitMQ中的AMQP是什么?

答案2023-07-06:

AMQP

AMQP(Advanced Message Queuing Protocol)是一个应用层协议的开放标准,旨在设计面向消息的中间件。基于AMQP协议的客户端和消息中间件可以自由地传递消息,不受客户端、中间件产品或开发语言的限制。其目标是实现一种被广泛应用于各行业的标准消息中间件技术,以降低企业和系统集成的成本,并提供工业级的集成服务。RabbitMQ是AMQP协议的一个主要实现。

image.png

客户端与RabbitMQ的通讯

连接

作为客户端(生产者或消费者),要与RabbitMQ通信,首先需要建立一条TCP连接。在建立连接后,客户端需要发送一条"问候语",以确保彼此都遵循AMQP协议。这类似于与他人打招呼时说"你好",或者与外国人打招呼时说"hello"。一旦确认了使用相同的"语言",客户端和RabbitMQ就完成了"认证"。然后,它们可以创建一个AMQP信道来进行通信。

信道

信道是生产者和消费者与RabbitMQ进行通信的通道。它是在TCP连接上建立的虚拟连接。这意味着RabbitMQ可以在一条TCP连接上创建多个信道,以便处理多个线程。每个线程对应一个唯一的信道ID,从而保证了信道的私有性,并与特定的线程相关联。

为什么不使用多个TCP连接呢?这是因为通过多路复用技术,RabbitMQ可以在单个TCP连接上支持成百上千的信道。每秒创建和销毁大量的TCP连接对系统性能消耗较大。因此,选择在一条TCP连接上建立多个信道是为了保证性能。

从技术上讲,这被称之为“多路复用”,对于执行多个任务的多线程或者异步应用程序来说,它非常有用。

虚拟主机

虚拟主机(Virtual Host),简称vhost,实质上是一个精简版的消息队列服务器,拥有自己的队列、交换器和绑定,而且最重要的是具备独立的权限机制。虚拟主机能够在逻辑上实现客户端之间的隔离,避免队列和交换器名称的冲突。在连接到RabbitMQ时,必须指定虚拟主机。RabbitMQ默认包含一个名为"/"的虚拟主机,通过默认的用户和密码(guest)进行访问。

在RabbitMQ中创建用户时,必须将其分配给至少一个虚拟主机,并且该用户只能访问其所分配的虚拟主机中的队列、交换器和绑定。虚拟主机的创建需要通过RabbitMQ的管理控制工具进行操作。

交换器类型

交换器类型共有四种:direct、fanout、topic和headers。其中,headers类型与direct类型非常相似且不常使用,可以忽略不计。

Direct

Direct交换器是一种路由键完全匹配的交换器类型,它将消息按照路由键的完全匹配进行投递到相应的队列。Direct交换器是RabbitMQ的默认交换器。当声明一个队列时,它会自动绑定到默认的Direct交换器,并以队列名称作为路由键进行消息的发布:channel->basic_public($msg,’’,’queue-name’)。

image.png

Fanout

Fanout交换器将消息广播到所有绑定的队列,不管队列是否绑定了特定的路由键。当消息经过Fanout交换器时,每个队列都会收到一份复制的消息。

image.png

Topic

Topic交换器通过使用“”和“#”通配符来处理消息的路由键,从而将来自不同源头的消息投递到同一个队列。在Topic交换器中,路由键可以包含多个标识符,通过使用“.”进行分隔。“”通配符用于匹配一个标识符,而“#”通配符用于匹配一个或多个标识符。

image.png


http://www.ppmy.cn/news/752642.html

相关文章

曝光时间与快门速度有什么区别

百度知道给出的答案 原文地址:http://zhidao.baidu.com/question/88203454.html 最简单的说法:快门速度影响曝光 曝光受快门速度和光圈大小的影响,通俗说法中的曝光时间跟快门速度是一样的,所以才会产生你这个疑问,但…

数码相机光圈与快门挑选篇

数码相机光圈与快门挑选篇 南方网讯 光圈是数码相机的另一个极其重要的物理部件,数码相机毕竟还是相机,再好的镜头如果没有好的光圈也不会有理想的效果,这跟高级相机装上低级胶卷也不会照出好照片是一样的道理。光圈和快门的关系较为紧密&am…

用单反相机拍摄VR全景时参数设置怎么调?

在VR全景图拍摄制作时,相机参数是最不容易调整的,这个一般都是需要实操以后自己对这些参数有了一定的了解以后才能做好,今天小九带大家了解一些用单反相机拍摄VR全景时光圈参数设置一般怎么调: 一、一般在拍摄VR全景时使用相机的“…

Camera ISO、快门、光圈、曝光

种田要知节气,开车要懂离合,任何一样手艺都有行话。虽然我觉得尽量从实际问题说起,尽量不要说的很专业,但有几个词却是谈到摄影无法避开的词,它们是:光圈,快门, 曝光,焦距…

快门光圈感光度口诀_光圈快门感光度口诀是什么?

展开全部 光圈越大越明亮,快门越慢越明亮,感光度越高越明亮。环境光越强越32313133353236313431303231363533e78988e69d8331333366303761明亮,闪光灯功率越大越明亮。闪光距离越近越明亮。 光圈用F表示,后面跟的数字越小&#xff…

快门速度,光圈,感光度

在任何摄影过程中有三个因素决定了实际曝光量的多少:(1)相机机身上设置的快门速度;(2)镜头的光圈大小;(3)使用的底片的感光度。“快门速度”决定了快门幕帘打开的时间长短,从而决定了有多少光线可以照射到底片上。快门速度的数值表…

快门与曝光

1. 快门 快门是镜头前阻挡光线进来的装置,一般而言快门的时间范围越大越好。 秒数低适合拍运动中的物体,某款相机就强调快门最快能到1/16000秒,可轻松抓住急速移动的目标。不过当你要拍的是夜晚的车水马龙,快门时间就要拉长&…

4. 相机M档位调整思路

相机M档设置思路 1. 根据现场环境调整iso感光度。 100适用于晴天,明亮的场景。 400适用于阴天,室内。 800适用于傍晚,光线昏暗的场景。 1600昏暗的室内场景,夜景。 3200 更昏暗的室内场景,夜景。 6400 星空&#xff0…