Implementazione di CQRS all'interno di un microservizio

0

Sto prendendo in considerazione un processo di refactoring CQRS. È più un esercizio di apprendimento nel mio tempo libero. Il caso d'uso è simile a un sito web di comparazione dei prezzi in cui un utente inserisce i propri dati per un mutuo e viene presentato con opzioni di mutuo dai fornitori di servizi. Ad esempio, un utente inserisce il deposito minimo; termine; valore della casa e quindi sono presentati con opzioni, ad es. mutuo 1 di HSBC; mutuo 2 da NatWest ecc. Un utente potrebbe fare più di una richiesta; aggiustando i criteri ogni volta. Ad esempio:

1) Criteria 1: 25 year term, £23,000 deposit, £150,000 value
2) Criteria 2: 30 years term, £20,000 deposit, £180,000 value
etc

Credo di avere due opzioni:

1) Event Sourcing using event store.
2) Message Queue/service bus

Riguardo all'opzione 1 - questo caso d'uso è adatto anche per il sourcing di eventi? Il classico esempio di event sourcing è un conto bancario in cui è possibile vedere quale era il saldo in quel momento: x o data: y ripetendo gli eventi. Tuttavia, nel mio caso; l'azienda non vorrebbe sapere quale fosse il valore del "deposito" in data: x. Ogni ricerca utente è nuova e indipendente dall'ultima.

Per quanto riguarda l'opzione 2 - credo che le code di messaggi (e i bus di servizio) siano adatte quando c'è bisogno di comunicare con un altro microservizio. Nel mio caso; l'editore e il sottoscrittore dell'evento sarebbero lo stesso microservizio.

La mia analisi mi dice che nessuna delle due opzioni è adatta a causa delle ragioni esposte nei due paragrafi precedenti. Sono corretto in questa analisi?

    
posta w0051977 09.09.2018 - 20:22
fonte

1 risposta

1

Accettare una richiesta dal client e inviarla a più fornitori è un classico esempio del pattern Scatter-Gather. Può essere implementato utilizzando un bus dei messaggi ma non necessariamente.

Qui è descritto utilizzando l'esempio del mutuo.

Il sourcing degli eventi dovrebbe essere usato se hai almeno un processo relativamente complesso che può essere modellato usando eventi quando controlli l'intero processo. Non vedo alcuna regola aziendale per ottenere la citazione da più fornitori a essere onesti.

    
risposta data 10.09.2018 - 09:09
fonte

Leggi altre domande sui tag