首頁  >  問答  >  主體

java - 多客戶端如何操作MQ比較合適

我有500個子應用程式分別部署在500台不同的伺服器上,還有一個主應用,現在有一個MQ。我主應用程式會給子應用程式發送訊息。子應用程式上有很多功能,都需要用到不同的訊息。

我是在子應用開一個consumer好,還是為子應用的每一個功能都開一個consumer好。

我目前打算是這樣,每個子應用,只開一個consumer,然後在發送的訊息裡面定義,具體要操作的方法。格式如下:

{
    "header": {
        "action": "scan_address"
    },
    "body": {
            "id": 1234,
            "name": "xxxxxx"
    }
}

當子應用程式拿到訊息後,根據action來決定要呼叫哪個方法。然後body就是需要處理的業務資料。

高洛峰高洛峰2711 天前518

全部回覆(1)我來回復

  • ringa_lee

    ringa_lee2017-05-17 09:59:34

    你這種情況屬於用MQ做鬆散耦合的RPC呼叫。 我不知道你的mq選型是什麼。就按照我熟悉的kafka來說吧,可以使用一個topic,然後單一機器配置單一消費組,然後訊息就按照RPC的那種去寫,基本上可以做到不重不丟,且服務上下游解耦

    回覆
    0
  • 取消回覆