Sto lavorando su una suite di micro-servizi, con una GUI basata sul web. Stiamo utilizzando una macchina a stati di terze parti tramite chiamate REST. A volte otteniamo / impostiamo lo stato da uno dei nostri micro-servizi, mentre altre volte passiamo direttamente dalla GUI direttamente alla macchina a stati ignorando completamente i nostri micro-servizi.
Sono dell'opinione che l'interfaccia utente non dovrebbe farlo per alcuni motivi:
- Preferisco che le GUI siano stupide; non avendo conoscenza di componenti come database, macchina di stato, memorizzazione nella cache, ecc.
- Credo che la GUI sia solo un componente dell'applicazione, non l'applicazione stessa.
- Credo che i micro-servizi dovrebbero essere in grado di funzionare in modo indipendente senza un severo requisito nell'interfaccia utente
Alcuni argomenti contro questo sono stati:
- Il proxy di una chiamata REST tramite un micro-servizio aggiunge complessità al micro-servizio
- È più rapido ed efficiente chiamare direttamente dall'interfaccia utente
- Le nostre chiamate ai micro-servizi utilizzano anche REST, quindi non vi è alcuna differenza negli strumenti
Vorrei sapere se esistono raccomandazioni sulle migliori pratiche?