文章詳情頁
java - 多客戶端如何操作MQ比較合適
瀏覽:120日期:2023-12-18 17:37:19
問題描述
我有500個子應用分別部署在500臺不同的服務器上,還有一個主應用,現(xiàn)在有一個MQ。 我主應用會給子應用發(fā)消息。 子應用上有很多功能,都需要用到不同的消息。
我是在子應用開一個consumer好,還是為子應用的每一個功能都開一個consumer好。
我目前打算是這樣,每個子應用,只開一個consumer,然后在發(fā)送的消息里面定義,具體要操作的方法。格式如下:
{ 'header': {'action': 'scan_address' }, 'body': { 'id': 1234, 'name': 'xxxxxx' }}
當子應用拿到消息后,根據(jù)action來決定調(diào)用哪個方法。 然后body就是需要處理的業(yè)務數(shù)據(jù)。
問題解答
回答1:你這種情況屬于用MQ做松耦合的RPC調(diào)用。 我不知道你的mq選型是什么。就按照我熟悉的kafka來說吧,可以使用一個topic,然后單臺機器配置單個消費組,然后消息就按照RPC的那種去寫,基本可以做到不重不丟,且服務上下游解耦
標簽:
java
上一條:java - 面試題,10w臺設備要求查詢在線狀態(tài),應該用什么技術?下一條:java - bootstrap table分頁以后,下面的分頁按鈕消失怎么辦并且如何返回總頁數(shù)
相關文章:
1. 查詢mysql數(shù)據(jù)庫中指定表指定日期的數(shù)據(jù)?有詳細2. mysql - 怎么生成這個sql表?3. mysql儲存json錯誤4. php - 公眾號文章底部的小程序二維碼如何統(tǒng)計?5. mysql - 表名稱前綴到底有啥用?6. mysql - 數(shù)據(jù)庫表中,兩個表互為外鍵參考如何解決7. Navicat for mysql 中以json格式儲存的數(shù)據(jù)存在大量反斜杠,如何去除?8. 在mybatis使用mysql的ON DUPLICATE KEY UPDATE語法實現(xiàn)存在即更新應該使用哪個標簽?9. mysql - 數(shù)據(jù)庫建字段,默認值空和empty string有什么區(qū)別 11010. sql語句 - 如何在mysql中批量添加用戶?
排行榜

熱門標簽