rabbitmq官方文档翻译-9

阻塞连接通知

客户端有时希望在连接因代理资源(内存或磁盘)运行不足而被阻塞时收到通知。

我们引入了一个AMQP协议扩展,其中代理在连接被阻塞时向客户端发送connection.blocked方法,并在解除阻塞时向connection.unblocked发送。

要接收这些通知,客户端必须在其客户端属性中显示一个功能表,其中有一个键connection.blocked和一个布尔值为true。有关详细信息,请参阅功能部分。我们支持的客户端默认指示此功能,并提供一种为connection.blocked和connection.unblocked方法注册处理程序的方法。

什么时候发送通知

第一次RabbitMQ在资源上处于低位时,会将connection.blocked通知发送到发布连接。
例如,当RabbitMQ节点检测到RAM较低时,它会将connection.blocked发送到支持此功能的所有连接的发布客户端。
如果在解除阻塞连接之前,节点也开始在磁盘空间上运行不足,则不会发送另一个connection.blocked。
当所有资源警报都已清除且连接完全解除阻塞时,将发送connection.unblocked。