簡體   English   中英

用於群組廣播的JMS架構

[英]JMS architecture for group broadcasting

我想建立一個廣播系統。 它由幾個組組成。 每個組都有一個用戶,可以向同一組的其他成員廣播消息。 這種系統合適的JMS體系結構是什么?

我應該使用具有長期訂閱的主題嗎? 我對發布/訂閱消息風格不太了解,主題可以有多個訂閱嗎? 如果是這樣,則每個訂閱代表廣播系統中的一個組。 如果不是,我是否應該使用隊列,而每條消息都有一個標頭指定該組,然后使用JMS選擇器過濾該消息,以便每個成員僅接收來自其所在組的消息?

另外,我正在考慮在消費后保留消息。 我決定讓每條消息在一個小時后過期,並且每個成員都應檢查數據庫以查找他錯過的每條消息。 但是,如何在消息到期時觸發操作?

可以使用主題...主題可以有多個訂閱者。 每個小組可以使用不同的主題。 用戶可以向該主題發送消息,所有訂閱者都可以接收。

僅當訂戶可以脫機一段時間並且不丟失該訂戶的消息時,才需要持久訂戶。

隊列不適用於一對多場景。 但是,如果您有一組預定義的接收器,則可以為每個接收器使用一個隊列並將消息路由到該接收器。 但這是將消息路由到接收者隊列的開銷。 您建議的JMS選擇器想法可行,但對於隊列,只有一個客戶端可以接收消息。 在主題中,它分發給對該主題感興趣的所有客戶。

通常,將數據持久化到數據庫而不是消息本身。 因此,您可以堅持到數據庫,然后創建要傳遞的消息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM