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