Registrazione degli utenti nell'architettura dei microservizi

1

Qual è la migliore pratica per la registrazione dei dati relativi all'utente nell'architettura dei microservizi?

Nell'esempio: vorrei verificare / mantenere le informazioni del database su chi ha cancellato una risorsa.
Ho le informazioni utente sul primo servizio (client-facing), ma non lo passo più.

Mi chiedo se c'è un modo intelligente per farlo - come iniettare un filtro generico per decorare tutte le richieste con intestazioni relative agli utenti?

    
posta FazoM 17.06.2016 - 14:31
fonte

1 risposta

1

Supponiamo che i tuoi microservizi comunichino via HTTP. Colpire la stessa domanda quando si progetta il tuo approccio di microservizio, quindi lasciatemi condividere questo:

La prima cosa che abbiamo riconosciuto è che non c'è modo di consegnare qualche tipo di informazione utente ad ogni richiesta cross-service nel back-end. Ora, come queste informazioni utente in strutturato non sono rilevanti. Lo abbiamo mantenuto molto semplice. Poiché utilizziamo l'autenticazione token, passiamo questo esatto token dal servizio al servizio. (Il tuo problema è molto simile a questo )

E sì, questo approccio richiede che ogni servizio ri-enumerhi le informazioni utente per questo token dato da un qualche tipo di token-service . Poiché ciò accade una volta sola (assicurandoci che durante la revisione del codice !!) per richiesta, abbiamo deciso di prendere questa strada e di ottimizzare il nostro token-service (lo pubblicheremo presto come opensource!) . Ma abilita anche alcune interessanti possibilità come servizi che possono utilizzare un proprio token per impersonare un utente ed eseguire azioni per suo conto, mentre il servizio che riceve questo token di rappresentazione può interrogare le informazioni da token-service esattamente nello stesso modo in cui sarebbe senza impersonificazione!

Per riepilogare: Consegniamo il token di accesso in tutte le chiamate cross-service per mantenere il sovraccarico nella richiesta al minimo assoluto, aggiunge solo un numero costante di richieste cross-service aggiuntive!

    
risposta data 15.07.2016 - 08:04
fonte

Leggi altre domande sui tag