首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >发布/订阅中的消息选择器和点到点

发布/订阅中的消息选择器和点到点
EN

Stack Overflow用户
提问于 2013-11-30 16:08:55
回答 1查看 474关注 0票数 0

在阅读“Java Message Service”一书时,我遇到了一条我无法理解的底线:

pub/sub和p2p模型的另一个主要区别是,对于pub/ sub模型,消息选择器是在消息被复制到每个订阅服务器时应用的;而对于p2p模型,消息选择器是在消息被添加到队列之后应用的。

我理解pub/sub,它说:在代理向订阅者发送消息之前,它应用消息选择器,但是对于点对点(队列),假设有2个接收者注册了消息,而不是当它应用消息选择器时?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-01 03:38:40

pub/sub和p2p模型的另一个主要区别是,对于pub/ sub模型,当消息被复制到每个订阅者时,就会应用消息选择器。

由于pub/sub向所有订阅者发送一条消息,如果订阅服务器上的选择器与消息不匹配,则该消息可能会被丢弃在subcriber处。代理不关心哪些订阅者根据选择器接收消息,因为pub/sub通过设计将消息传递给所有订阅者。根据这段摘录,这是我的看法。

...whereas具有p2p模型,消息选择器在消息被添加到队列后应用。

对于队列,代理必须保证对任何给定消息的“准确-一次”传递,因此选择首先发生在代理端。假设有3个消费者在同一个队列上监听,而且他们都有相同的选择器。在这种情况下,代理选择一个使用者,并只将消息传递给该使用者。如果没有任何使用者拥有与消息匹配的选择器,代理将保留该消息,直到它找到使用者为止,或者直到消息过期为止。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20302409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档