如何使用MQ Light在Bluemix中进行点对点消息传递?

时间:2016-04-18 13:37:56

标签: ibm-cloud messaging mq

我想使用MQ Light在Bluemix中实现点对点消息传递。

我可以这样做吗?我不想定义主题,而是让MQ Light服务知道需要发送消息的目的地。

我不想使用pub-sub模型,而是希望将消息直接传递到目标消费者node.js应用程序。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:2)

虽然应用程序用于发送消息的地址具有topic / pubsub样式格式,但MQ Light API支持在队列和pub / sub模型中传递这些消息。有关概念的更多详细信息,请访问:

https://developer.ibm.com/messaging/mq-light/docs/concepts/

总之,接收应用程序在定义要从中接收消息的目标时,会选择消息传递的样式(排队或发布/订阅)。如果它指定了共享目标'它将获得队列样式语义,其中目的地的每个消息将仅被传递到从该目的地接收的一个应用程序(例如,谁使用相同的共享目的地)。如果它没有使用共享目的地,那么它将收到它自己的每个消息的副本,例如发布/订阅。两种情况下的发送应用程序都是相同的。

举个例子。如果应用程序将消息发送到地址' / address / Q1'

如果应用程序A,B和C都定义为使用共享目的地' dest1'它被映射到地址' /地址/ Q1'然后发送到该地址的任何消息都将在它们之间共享(队列样式传递模型),因此只有其中一个应用程序将收到每条消息。

如果应用程序A,B和C都定义为使用映射到地址' / address / Q1'的非共享目标。然后,所有应用程序都会收到发送到该地址的任何消息(发布/子样式传送模型)。

在这两种情况下,应用程序都可以设置目标的timeToLive,以控制在未连接应用程序时保留消息的时间长度。这通常在发布/订阅和队列递送模型之间设置不同,但很容易由应用程序控制。