我如何使用 MQ Light 在 Bluemix 中执行点对点消息传递?
How can I do point-to-point messaging in Bluemix using MQ Light?
我想使用 MQ Light 在 Bluemix 中实现点对点消息传递。
我可以这样做吗?我不想定义主题,而是让 MQ Light 服务知道消息需要发送到的目的地。
我不想使用 pub-sub 模型,而是希望将消息直接传递给目标消费者 node.js 应用程序。
我怎样才能做到这一点?
尽管应用程序用于发送消息的地址具有 topic/pubsub 样式格式,但 MQ Light API 支持在队列和 pub/sub 模型中传递这些消息。有关这些概念的更多详细信息,请参见此处:
https://developer.ibm.com/messaging/mq-light/docs/concepts/
总而言之,消息传递的样式(排队或 pub/sub)由接收应用程序在定义要从中接收消息的目的地时选择。如果它指定 'shared destinaton' ,它将获得队列样式语义,其中目的地的每条消息只会被传递到从该目的地接收的应用程序之一(例如,使用相同共享目的地的应用程序)。如果它不使用共享目的地,那么它将收到每条消息的自己的副本,例如pub/sub。两种情况下的发送应用程序相同。
举个例子。如果应用程序将消息发送到地址“/address/Q1”
如果应用程序 A、B 和 C 都定义为使用映射到地址“/address/Q1”的共享目标 'dest1',则发送到该地址的任何消息都将在它们之间共享(队列式传递模型),因此只有一个应用程序会收到每条消息。
如果应用程序 A、B 和 C 都定义使用映射到地址“/address/Q1”的非共享目标,则所有应用程序都将收到发送到该地址的任何消息(a pub/sub 样式交付模型)。
在这两种情况下,应用程序都可以为目标设置 timeToLive 以控制应用程序未连接时消息将保留的时间长度。这在 pub/sub 和队列传递模型之间通常设置不同,但很容易由应用程序控制。
我想使用 MQ Light 在 Bluemix 中实现点对点消息传递。
我可以这样做吗?我不想定义主题,而是让 MQ Light 服务知道消息需要发送到的目的地。
我不想使用 pub-sub 模型,而是希望将消息直接传递给目标消费者 node.js 应用程序。
我怎样才能做到这一点?
尽管应用程序用于发送消息的地址具有 topic/pubsub 样式格式,但 MQ Light API 支持在队列和 pub/sub 模型中传递这些消息。有关这些概念的更多详细信息,请参见此处:
https://developer.ibm.com/messaging/mq-light/docs/concepts/
总而言之,消息传递的样式(排队或 pub/sub)由接收应用程序在定义要从中接收消息的目的地时选择。如果它指定 'shared destinaton' ,它将获得队列样式语义,其中目的地的每条消息只会被传递到从该目的地接收的应用程序之一(例如,使用相同共享目的地的应用程序)。如果它不使用共享目的地,那么它将收到每条消息的自己的副本,例如pub/sub。两种情况下的发送应用程序相同。
举个例子。如果应用程序将消息发送到地址“/address/Q1”
如果应用程序 A、B 和 C 都定义为使用映射到地址“/address/Q1”的共享目标 'dest1',则发送到该地址的任何消息都将在它们之间共享(队列式传递模型),因此只有一个应用程序会收到每条消息。
如果应用程序 A、B 和 C 都定义使用映射到地址“/address/Q1”的非共享目标,则所有应用程序都将收到发送到该地址的任何消息(a pub/sub 样式交付模型)。
在这两种情况下,应用程序都可以为目标设置 timeToLive 以控制应用程序未连接时消息将保留的时间长度。这在 pub/sub 和队列传递模型之间通常设置不同,但很容易由应用程序控制。