提问者:小点点

在AMQP 0.9(Rabbitmq)中,app_id和cluster_id字段是什么


我正在尝试理解AMQP消息中的app_id和cluster_id字段。我甚至尝试阅读AMQP规范,定义如下:

  • https://www.rabbitmq.com/specification.html和
  • http://www.amqp.org/resources/download

但是app_id和cluster_id字段是什么还不清楚。这在AMQP 1.0中同样不清楚(Rabbitmq默认不使用哪个)

(这与我的另一个问题AMQP(Rabbitmq)确定坏消息的来源有关)


共1个答案

匿名用户

到目前为止,我得到的最好答案来自:

https://www.rabbitmq.com/resources/specs/amqp0-9-1.extended.xml

上面写着:

<!--  For application use, no formal behaviour -->
<field name="app-id"     domain="shortstr" label="creating application   id"/>
<!--  Deprecated, was old cluster-id property -->
<field name="reserved" domain="shortstr" label="reserved, must be empty"/>

无论cluster_id最初用于什么(也许是识别集群?),它都不再使用。

注释指出“没有正式行为”,我解释为这意味着标头是允许的,但它完全是实现定义的,可以用于任何事情。鉴于您也可以有自定义标头(例如,请参阅此问题),打扰任何没有自己明确定义的语义学的标头似乎很奇怪(糟糕的协议设计?)。