Responsabilità del modello di messaggio per il microservizio OTP

1

Vogliamo progettare una soluzione per la generazione e la convalida del processo OTP (One Time Password). Abbiamo deciso di creare un processo OTP come un micro servizio separato. Poiché OTP deve essere comunicato agli utenti, abbiamo sentito la necessità di creare un micro servizio separato per la comunicazione (SMS, e-mail, ecc.).

Durante la progettazione, ci siamo imbattuti in un problema relativo alla responsabilità del servizio per il binding del modello di messaggio. Siamo venuti con gli approcci seguenti per risolverlo:

  1. Il servizio OTP avrà la responsabilità di creare e associare modelli di messaggi, in base al servizio che sta chiamando e di passare il messaggio al servizio SMS.
  2. È necessario creare un micro servizio modello separato e il servizio OTP chiamerà il servizio modello che restituirà il messaggio al servizio OTP e quindi verrà passato al servizio SMS.

  3. Creare un micro servizio di modello separato, ma il servizio di SMS di comunicare con esso. Qui il servizio chiamante avvierà OTP con identificatore e questo identificatore verrà passato al servizio SMS che recupererà il messaggio appropriato dal servizio modello.

Il primo approccio conferisce ulteriore responsabilità al servizio OTP. Il secondo e il terzo approccio separano la responsabilità del modello da un servizio separato, ma non siamo riusciti a raggiungere un consenso sul fatto che il servizio OTP o il servizio SMS dovessero chiamare il servizio modello.

Abbiamo bisogno di sapere quale dei suddetti approcci sembra pertinente e perché?

Informazioni aggiuntive:

  1. Il servizio SMS non sarà limitato ai soli messaggi OTP. Lo estenderemo anche per inviare altre comunicazioni.
  2. Il servizio OTP ha già la responsabilità di creare e verificare OTP.
  3. Se creiamo un micro servizio di modelli separati, lo useremo anche per altre comunicazioni
posta nak 24.12.2017 - 16:10
fonte

1 risposta

1

Per essere onesti, per le necessità immediate, tutti questi approcci funzioneranno.

L'unica critica che potrei aggiungere è che il formato di output del tuo modello dipende davvero dal tipo di messaggio che viene inviato. I formati SMS saranno molto più semplici dei formati di email HTML. Per questo motivo, renderei il tuo servizio di template più strettamente associato ai tuoi servizi di messaggistica. La terza opzione fa proprio questo, e lo rende più flessibile in quanto potenzialmente aggiungere nuovi tipi di messaggi.

Essenzialmente, devi conoscere 2 cose per creare un modello di un messaggio correttamente:

  • Il formato di output
  • Il tipo di messaggio

Utilizzando questi due criteri, puoi selezionare il modello corretto e applicarlo al messaggio non elaborato.

    
risposta data 12.02.2018 - 14:56
fonte

Leggi altre domande sui tag