Durante il lavoro su un progetto per animali domestici nell'architettura basata su eventi di microservice, ho riscontrato un problema nel fornire risposte a un cliente.
Ognimicroservizio(gatewayAPIecc.)hamoltereplicheehailproprioloadbalancer(servizioKubernetes).
Casodiutilizzo:
20client(JSApp)invia"Registra richiesta account"
-
10 client si connettono a "API Gateway 1" e 10 - "API Gateway 2 ". I gateway mantengono la connessione (polling lungo)
-
Ciascun gateway API delega l'elaborazione delle richieste ai Data Processor tramite Apache Kafka, argomento "registerAccount"
-
I processori dati sono iscritti all'argomento "registerAccount". onMessage () registra l'account e inserisce nuovamente l'ID del nuovo account Kafka, argomento "newAccountId"
-
I gateway API ricevono newAccountId (quale? tutti?)
-
I gateway API inviano newAccountId al client appropriato (come può l'API Il gateway decide quale client deve ricevere questo nuovo account Account?)
L'unica soluzione che ho trovato è quella di aggiungere l'id del client a ciascun messaggio e quindi filtrare i messaggi.
Qualcuno ha avuto questo problema?