与pi使用哪种连接形式

2024-05-21 01:49:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在试图找出在使用pika时应该使用哪种连接形式,据我所知,我有两种选择。

不管是BlockingConnection还是SelectConnection,但是我并不确定这两者之间的区别(即什么是阻塞连接阻塞?以及更多)

pika的文档指出,SelectConnection是连接到rabbit的首选方式,因为它提供了“多种事件通知方法,包括select、epoll、kqueue和poll”

所以我想知道这两种不同的联系意味着什么?

附言:我知道我不应该在标题上加标签,但在这种情况下,我认为它确实有助于澄清这个问题。


Tags: 方法文档方式事件selectpika形式rabbit
1条回答
网友
1楼 · 发布于 2024-05-21 01:49:15

如果您的应用程序体系结构可以从异步设计中受益,例如在RabbitMQ IO完成时执行其他操作(例如切换到其他IO等),则SelectConnection非常有用。这种类型的连接使用回调来指示函数何时返回。例如,可以为

已连接、已打开频道、已声明交换、已声明排队等

…在触发这些事件时执行操作。

如果RabbitMQ服务器(或与该服务器的连接)速度很慢或过载,那么这个好处尤其好。

手上的BlockingConnection就是-它阻塞直到被调用的函数返回。因此,它将阻塞执行线程,直到connected或channel_open或exchange_declared或queue_declared return。也就是说,编程这种序列化逻辑通常比异步SelectConnection逻辑简单。对于具有响应RabbitMQ服务器的简单应用程序,它们在IMO中也可以正常工作

我想您已经阅读了Pika文档http://pika.readthedocs.io/en/stable/intro.html,如果没有,那么在您使用Pika之前,这绝对是非常重要的信息!

干杯!

相关问题 更多 >