REST è un metodo di consegna che determina l'interfaccia dell'applicazione.Si utilizza REST principalmente con il modello di consistenza immediata, ma può supportare un modello di coerenza finale rispondendo ai comandi accettati.
L'origine degli eventi è un meccanismo di memorizzazione dei dati generale. Si utilizza solitamente il sourcing di eventi con un modello di coerenza finale insieme alla progettazione basata sul dominio e la segregazione di comandi e query, ma può supportare un modello di coerenza immediato, probabilmente con un commit a più fasi.
Essi risolvono cose completamente diverse nella vostra applicazione e sono compatibili tra loro, quindi è possibile utilizzarle insieme.
Come nel sourcing evento, il cliente inviare eventi, questo significa che sul il server v'è un unico insieme di eventi e di tutti i messaggi del API sarà in tale raccolta, di aggiungere eventi ad esso?
Hai completamente frainteso il concetto. È possibile memorizzare una sequenza di eventi in una memoria eventi. Gli eventi sono cambiamenti di stato, quindi se memorizzi ogni cambio di stato della tua applicazione e la rigiochi nell'ordine corretto, puoi ricreare lo stato attuale della tua applicazione. Questo è molto buono, perché è possibile migrare i dati in un altro database semplicemente riproducendo gli eventi e trasformandoli in query di database. Puoi fare lo stesso per creare una cache di query usando un normale database. Quindi i tuoi clienti possono leggere quella cache delle query invece di ricreare sempre lo stato attuale dai motivi.
Gli eventi in genere non vengono creati dal client. Con la progettazione basata sul dominio, la logica del dominio crea eventi di dominio elaborando i comandi.
Come può il client scoprire i comandi che può inviare al server?
Tramite REST i client utilizzano i collegamenti per inviare richieste al servizio REST. Il servizio REST può elaborare quelle richieste e trasformarle in comandi e query. I comandi vengono elaborati dalla logica del dominio e generano eventi di dominio. Le query vengono trasformate in query di database che indirizzano le cache di query.
Cosa significa BC? Contesto limitato? La tua risposta contiene troppi acronimi inspiegabili! –
@RobinGreen sì, BC - Contesto limitato. Le persone che parlano di ddd/cqrs/es dovrebbero avere familiarità con queste abbreviazioni. Suppongo. – masted
Beh, non lo ero. Si prega di assumere meno. –