suchen

Heim  >  Fragen und Antworten  >  Hauptteil

java - Wie ist es sinnvoll, MQ für mehrere Clients zu betreiben?

Ich habe 500 Unteranwendungen auf 500 verschiedenen Servern bereitgestellt, eine Hauptanwendung und jetzt gibt es einen MQ. Meine Hauptanwendung sendet Nachrichten an die Unteranwendung. In der Unteranwendung gibt es viele Funktionen, die alle unterschiedliche Nachrichten erfordern.

Soll ich einen Verbraucher in der Unteranwendung öffnen, oder sollte ich für jede Funktion der Unteranwendung einen Verbraucher öffnen?

Mein aktueller Plan besteht darin, nur einen Verbraucher für jede Unteranwendung zu öffnen und dann die spezifische Betriebsmethode in der gesendeten Nachricht zu definieren. Das Format ist wie folgt:

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

Wenn die Unteranwendung die Nachricht erhält, entscheidet sie basierend auf der Aktion, welche Methode aufgerufen werden soll. Dann sind der Körper die Geschäftsdaten, die verarbeitet werden müssen.

高洛峰高洛峰2787 Tage vor580

Antworte allen(1)Ich werde antworten

  • ringa_lee

    ringa_lee2017-05-17 09:59:34

    你这种情况属于用MQ做松耦合的RPC调用。 我不知道你的mq选型是什么。就按照我熟悉的kafka来说吧,可以使用一个topic,然后单台机器配置单个消费组,然后消息就按照RPC的那种去写,基本可以做到不重不丢,且服务上下游解耦

    Antwort
    0
  • StornierenAntwort