繁体   English   中英

用于群组广播的JMS架构

[英]JMS architecture for group broadcasting

我想建立一个广播系统。 它由几个组组成。 每个组都有一个用户,可以向同一组的其他成员广播消息。 这种系统合适的JMS体系结构是什么?

我应该使用具有长期订阅的主题吗? 我对发布/订阅消息风格不太了解,主题可以有多个订阅吗? 如果是这样,则每个订阅代表广播系统中的一个组。 如果不是,我是否应该使用队列,而每条消息都有一个标头指定该组,然后使用JMS选择器过滤该消息,以便每个成员仅接收来自其所在组的消息?

另外,我正在考虑在消费后保留消息。 我决定让每条消息在一个小时后过期,并且每个成员都应检查数据库以查找他错过的每条消息。 但是,如何在消息到期时触发操作?

可以使用主题...主题可以有多个订阅者。 每个小组可以使用不同的主题。 用户可以向该主题发送消息,所有订阅者都可以接收。

仅当订户可以脱机一段时间并且不丢失该订户的消息时,才需要持久订户。

队列不适用于一对多场景。 但是,如果您有一组预定义的接收器,则可以为每个接收器使用一个队列并将消息路由到该接收器。 但这是将消息路由到接收者队列的开销。 您建议的JMS选择器想法可行,但对于队列,只有一个客户端可以接收消息。 在主题中,它分发给对该主题感兴趣的所有客户。

通常,将数据持久化到数据库而不是消息本身。 因此,您可以坚持到数据库,然后创建要传递的消息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM