簡體   English   中英

連接到 ActiveMQ 時向消費者發送消息

[英]Send message to consumer when connected to ActiveMQ

我有多個工作實例連接到一個隊列,所有請求都將以負載平衡的方式分發給工作實例。 當一個新的工作實例連接到隊列時,我應該將一個小數據從主流應用程序轉儲到這個新的工作實例(一次性工作)。

目前我正在使用來自主流應用程序的 REST 端點在應用程序啟動時執行此操作,但我們可以為此利用消息隊列嗎? 一旦一個新的工作實例連接到隊列,它會通過隊列請求初始數據轉儲到主流應用程序,然后應用程序將回復初始數據。

是否可以使用消息隊列/主題? 請分享您的意見/建議,以使用 activemq 實現這一目標

如果您使用的是 ActiveMQ Artemis,則通常使用支持非破壞性最后值語義的隊列來滿足這種要求。 最后值語義允許隊列與最新消息保持同步,非破壞性語義意味着即使消費者確認消息,他們仍將保留在隊列中以等待下一個連接的客戶端。 當使用這個組合時,客戶端可以首先使用來自這個特殊“初始化”隊列的所有消息,然后繼續他們需要做的任何其他消息傳遞工作。

不幸的是,ActiveMQ“Classic”不支持這兩種語義中的任何一種,並且沒有直接的方法來獲得等效的行為。

暫無
暫無

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

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