
è stato davvero strano per me quando sono andato
a Copenaghen e lo hanno avuto nel
pista sanguinante così la prima volta
effettivamente parlato di event sourcing era
al Q con 2007 Martin era in realtà a
questo discorso e io ero spaventato così insensato
Vengo e parlo di nuove idee
intorno alla messaggistica di design basata su domini
e questo tipo di idee e il mio fronte
fila era Martin Eric Evans e Gregor
sperando di avere probabilmente circa 30 anni
bicchieri di caffè prima di iniziare e io
ha attraversato tutta la mia discussione in 17 anni
minuti è stato un discorso davvero orribile
giusto credo che Martin mi ha dato un cartellino rosso
Eric mi ha anche detto è un brutto discorso che se
non hai mai incontrato Eric, non lo sa davvero
dì cose cattive ma non è nuovo
idee e persino tornare indietro nel modo più simile
2006-2007 queste idee vanno molto indietro
passato quello che ci ha portato davvero verso
guardando l’ event sourcing è stato questo che noi
bisogno di avere un log e abbiamo bisogno di avere
un controllo adeguato ora per alcuni sistemi è
molto molto importante per altri sistemi
Non è così importante che è quello che ci ha portato
verso l’idea di sourcing di eventi e
Da allora in realtà ho usato una diapositiva
2007 perché la diapositiva è così perfetta
ciò che è interessante per me quando parliamo
sull’origine dell’evento è che se guardi
alle aziende mature e quando dico
maturo non intendo Groupon ogni
una di queste fonti di eventi
concettualmente finanziare il gioco d’azzardo bancario
assicurazione tutti loro sono naturalmente
evento di provenienza di quanti di voi hanno un
conto bancario pensi che il tuo
equilibrio è una colonna in una tabella o è
il tuo saldo equazione è il tuo equilibrio
una somma di tutto il precedente
transazioni che sono accadute sul tuo
conto corretto e se fosse solo un
colonna quindi pensi che dovresti avere
10000 corona la banca dice che hai 1200
corona e li chiami nel telefono
e dire che penso che il mio equilibrio sia sbagliato
e dicono che tutto saluta la colonna che è
non molto utile ma se lo dico il tuo
l’equilibrio è una somma di tutto il
le transazioni precedenti sono avvenute su
il tuo account prima di noi possiamo prendere un
penna e carta e capire cosa sei
equilibrio dovrebbe essere che si può discutere sui
se esista o meno un fatto ma tu
non posso discutere sul risultato complessivo
da ciò deriva che questo è uno di questi
i motivi principali per cui le aziende sono effettivamente
andando verso l’event sourcing avendo questo
derivato di primo livello che è dimostrabile
o è inverosimile in realtà molto molto
cosa preziosa di cui parleremo
più ci sono molte altre ragioni
perché tutte queste industrie sono andate
e sono naturalmente eventi di provenienza
prima di entrare in quelli oh andiamo up
con una definizione di sourcing di eventi quando
parli di un negozio di eventi sistema tu
solo i fatti del negozio tutto lo stato nel tuo
il sistema è un derivato di primo livello disattivato
i tuoi fatti proprio come abbiamo detto banca
equilibrio è un’equazione che scappa
le tue transazioni possono essere tutte le condizioni
lavorato in questo modo possiamo dire che lo faremo
memorizza solo eventi all’interno di a
sistema e qualsiasi stato tu voglia
non mi importa se è una canna
modella se si tratta di un oggetto dominio
tutto ciò che vuoi avere è a
derivativo di primo livello al di fuori di questo e
possiamo farlo per qualsiasi problema che sia stato
usando questo esempio per molto tempo e
quanti di voi già sanno quale evento
l’approvvigionamento è ok buon numero cercherò di farlo
passare attraverso le definizioni e e
mostrando alla gente abbastanza velocemente così noi
può arrivare alle cose più interessanti
ora questo è il mio pezzo di stato canonico
quindi abbiamo un ordine di acquisto con n linea
articoli e alcune informazioni di spedizione
associato con esso questo non è l’unico
modo di memorizzare le informazioni anche se questo
è quello che ci è stato insegnato a cui preoccuparsi
quanti di voi spendono grandi porzioni di
la tua giornata a parlare della forma dei dati
e se inizi a memorizzare questo corri
in tutti i tipi di problemi interessanti
quanti hanno scritto una migrazione sequel
sceneggiatura prima del divertimento, giusto per essere onesti
non potrà mai fare una versione del Big Bang
sempre dove prendo un pezzo di
software e portarlo
il motivo per cui non è perché sono
preoccupato che lo toglierò e
quando ho riportarlo non funzionerà
è davvero facile, basta fare un rollback
giusto cosa succede quando lo abbassi
lo fai risalire e poi funziona
va bene per una settimana e poi si rompe come
molti di voi scrivono script di migrazione
prendi il nuovo schema con tutto il nuovo
dati e riportarli al vecchio schema
quindi abbiamo avuto uno scherzo che quando hai
questo problema dove viene eseguito per una settimana
e poi muore tu hai la tua scelta
è possibile indossare il cappello vigile del fuoco o
il cappello da cowboy
per essere onesti, in realtà raccomando molto
le squadre per fare questo i cappelli sono fondamentalmente
un token e se qualcuno entra nel tuo
ufficio e tu stai indossando il pompiere
appena usciranno , verrò come
molti voi ragazzi avete lavorato in produzione
prima e poi qualcuno è entrato per chiedere
per la festa di Natale e qui
come uscire dal mio ufficio, ma non posso
dillo ora questo è il nostro pezzo canonico
di stato ma questo non è l’ unico modo di
occuparsi di un insieme di informazioni che posso
anche affrontarlo come questo dove noi
avere carrello creato tre articoli aggiunti e
quindi spedisci le informazioni a questo ora
tre elementi aggiunti sono in realtà tre
eventi distinti se ne metto tre distinti
eventi lì che le scatole sono appena diventate davvero
piccolo e non potresti leggerli nessuno
più, ma ogni punto nel tempo che potevo
prendere questi cinque eventi e potrei
ripetili e potrei restituirti
questo in altre parole, posso restituirti
un pezzo di stato e quello che stiamo andando a
dire in un sistema sorgente di eventi è quello
tutto lo stato è transitorio non prendermi
sbagliato potrebbe essere persistente ma lo è
transitorio
ciò che conta sono i miei eventi, perché nessuno
dato punto nel tempo posso sempre replicare
i miei eventi per restituirti qualsiasi pezzo di
dichiari nell’intero sistema il mio libro di
registrare è i miei eventi se la gente qui in a
programmazione funzionale in un altro modo noi
potrei dire che questo è lo stato attuale
una piega a sinistra dei comportamenti precedenti che posso
ripiegare sui miei comportamenti precedenti e dare
si torna ad interpretare e
potrebbe essere la tua interpretazione attuale
domani potrebbe essere completamente
interpretazione diversa e questa è una
dei principali valori di Venn sourcing è
che questo concetto di stato diventa
transitorio che cambia di più nel tuo
sistema come vedi i tuoi casi d’uso o
i tuoi casi d’uso reali
i tuoi eventi si allineano direttamente all’utilizzo
casi ora mi ci sono voluti per sempre da trovare
quella diapositiva originale perché c’è un
ragioniere cancellando nel mezzo di
i loro contabili contabili non lo fanno
a meno che non lavorassero per la Enron in cui
caso che probabilmente fanno in una fonte di eventi
sistema non abbiamo alcun concetto di aggiornamento
o una cancellazione che puoi sempre aggiungere
cose e questo funziona allo stesso modo il
I contendenti lavorano
quanti hanno preso una lezione di contabilità
prima forse all’università, probabilmente
ti ha detto che i ragionieri non lavorano in
matita lavorano a penna una volta che hai messo
qualcosa nel tuo libro mastro non hai mai
mai tirarlo fuori e facciamo lo stesso
cosa nella presa di forza ora sono solo io
curioso quanti di voi hanno un aggiornamento
o un’istruzione delete nel tuo sistema
oggi va bene, ora tieni le mani in alto
quanti di voi in una scheda di livello C.
incontro per decidere che tali informazioni
era privo di significato ed era perfettamente
bene per sbarazzarsi di come hai determinato
che quell’informazione non aveva valore come
fai anche un’analisi costi-benefici
su informazioni quindi ho alcuni dati
oggi sta succedendo nel mio
sistema per me per un costo-beneficio
analisi Ho bisogno di sapere come sono i miei affari
vuole guardare queste informazioni in
tre anni quanti puoi prevedere
dove il business sta per essere in
tre anni e quali domande chiederanno
tu come fai a prendere questa decisione
aggiorna o cancella i dati che porti fuori
la tua 8-ball magica scuoti e prova a farlo
capire cosa sta andando il business
chiedi quanto costa per il negozio
un gigabyte di dati per un anno oggi
devi essere onesto, in realtà è zero
basta aprire un account gmail e archiviare
nel tuo account Gmail ma costa
quasi niente quanti fatti puoi
misura di un gigabyte di dati
immaginiamo che sono tutti 1k ciascuno
un sacco di fatti che è possibile memorizzare non lo fanno
bisogno di trarre molti benefici dal tuo
dati in fondo alla strada e parlerò
su questo un po ‘ più tardi ma ottengo
questa domanda molto se mai solo
appena memorizzato
tutto quello che il mio appuntamento arriverà
davvero molto grande per essere più giusto
sistemi che posso adattare i tuoi dati su un micro
SD non sei big data anche se lo sei
aggiungendo che stai parlando di oh così
nei prossimi cinque anni lo faremo
finire con un centinaio di gigabyte del valore di
dati ok quanto costa il
negozio cento gigabyte non abbiamo un
aggiornamento o un’operazione di cancellazione quando noi
parlare di eventi o sistemi ci sono
solo aggiungere e proprio come cosa
ragionieri ne aggiungiamo sempre un nuovo
evento quindi se dovessi tornare indietro e lo ero
guardare alla contabilità diciamo che io
fatto un errore e ti ho trasferito dieci
mille corona rispetto a uno
mille corona perché l’ho sgraziato
Y sta andando a zero nel libro mastro
no, quindi ne farò uno dei due
cose che farò o no
gli account chiamano un’inversione parziale in
In tal caso inserirò una voce di diario
quello dice che sono preso indietro di nove mila
da te e metterlo nell’altro
ai ragionieri contabili non piace fare
questo va bene se è bello il numero dieci
mille e novemila puoi
capisci cosa intendevo inizialmente
fare è mille e se ci sono sei
account coinvolti e non lo sono
numeri perfettamente rotondi bene allora tu
devo prendere carta e penna e provare
per capire quale fosse la mia intenzione originale
era così invece cosa faranno i ragionieri
faranno ciò che è noto come pieno
inversione I fat-finger ti do dieci
Mille ne riprendo diecimila
tu segnalo che la prima cosa era dentro
errore e poi faccio quello che effettivamente
inteso perché perché un auditor può venire
indietro attraverso qui e lui riesce a capire
esattamente quello che intendevo fare è il
stessa cosa abbiamo parlato di eventi o
sistemi tendiamo a preferire inversioni complete
al contrario di partial, ma diciamo io
voglio rimuovere un oggetto che potrei dire
ora abbiamo carrello creato tre articoli
aggiunto un articolo rimosso e spedizione
le informazioni sono le stesse di
carrello creato due articoli aggiunti spedizione
informazioni a questo mi piace sempre
domanda perché circa la metà della stanza è
andando sì e mezzo giro andando no e
non sei diventato un buon consulente se
non hai imparato le parole dipende
c’è in realtà una bella pagina su
c-4 wiki su di esso dipende ora se lo fossi
a guardarlo da questa prospettiva sì
quei due sono esattamente lo stesso che sono corretto
andando a uscire un ordine con due linee
articoli e informazioni di spedizione
ad esso associato sia di quelli
cosa succede se ho avuto un diverso
prospettiva però se io fossi
contando quante volte erano gli oggetti
rimosso sarebbero loro lo stesso no e
è in realtà un trucco divertente se puoi andare
nel tuo sistema oggi e tu puoi venire
con qualsiasi serie di casi d’uso che se ne va
tu allo stesso stato finale di un altro
serie di casi d’uso indovina cosa sei
perdere le informazioni che hai appena mostrato
non hai un hash perfetto come ha fatto
tu dai valore a quelle informazioni che ti hanno fatto
parlare di questo è uno dei principali
benefici dell’approvvigionamento degli eventi e perché
le imprese in realtà vanno verso il
concetto di sourcing di eventi indipendentemente da
se ne parliamo in codice o semplicemente
concettualmente l’approvvigionamento di eventi non lo fa
perdere informazioni è l’unico modello
che puoi eventualmente usare quello no
perdere informazioni e puoi avere un sacco
di diverse implementazioni di esso molto
di sistemi contabili, ad esempio
sono una tabella con una colonna descrittiva
che dice tipo di riga e poi si uniscono
su un’altra tabella per ottenere il resto
le informazioni per quella riga che è a
la sua fonte di eventi cuore che stanno memorizzando
fatti e risultati derivanti dal loro
fatti un sistema sorgente di eventi è l’unico
modo possibile, non si può perdere informazioni
quando parli di memorizzare dati qualsiasi
l’altra forma perde qualcosa ora da vedere
il vero valore di ciò che dobbiamo
fare è dobbiamo passare e provare un
esempio quindi immaginiamo di esserlo
usando questo modello per non so
qualcosa come Amazon e il nostro business
l’utente viene da noi e dice che lo sai
pensa alle persone che rimuovono i loro oggetti
dai loro carrelli entro cinque minuti
prima del check-out è più probabile che
comprare quell’oggetto in futuro rispetto al
altre cose li mostriamo casualmente bene
perché rimuovi un articolo dal tuo carrello
cinque minuti prima del check-out, così tu
vai e guarda il carrello che sarà
come 800 corone, mi sento come se potessi
compra tutte quelle cose ma mia moglie ucciderà
io o io possiamo rimuovere
tre oggetti della carta posso prenderne un po ‘
degli articoli dal carrello e mia moglie
non mi ucciderà quindi ne prenderò un po ‘
quelli non è che non voglio il
altre cose è che sono D
dare la priorità a loro rispetto al resto
quindi con questo modello lo faremo ora
prendi questa carta dal muro che stiamo andando
per cercare di implementarlo quindi immagino il nostro
la prima cosa che faremo sarà aggiungere un
nuova cosa chiamata in cima chiamata rimossa
voci, quindi stiamo andando a è
stiamo scrivendo un rapporto che cerca
elementi pubblicitari rimossi e fa una sottoquery
torna per vedere se la persona ha comprato
questo in futuro, quindi lo abbiamo messo in atto
produzione che il nostro utente commerciale dice che voglio
per eseguire questo rapporto e lo eseguono cosa
vedono che il rapporto inizia da qui
e avanza
proviamo in questo modello ora quando parliamo
sullo stato derivante da un evento
flusso è noto come una proiezione di cosa
facciamo è proiettiamo una serie di stati
di un flusso di eventi se sei nel
mondo funzionale di nuovo questa è una sinistra
piega è molto più facile in the
il mondo funzionale non hanno tutto
questi schemi di fantasia sono così che sono
andando a fare è come ripiegare l’evento
stream Sto andando a cercare un oggetto
rimosso e quando trovo un oggetto rimosso
Ho intenzione di metterlo nel mio stato come
si sta dispiegando e sto per dirlo
ho trovato questo oggetto rimosso e ora lo sono
cercando il checkout quando ottengo il
checkout Confronto il tempo in cui il
l’oggetto è stato rimosso al momento del
checkout se fosse in cinque minuti mi
Segna che sto cercando questo articolo
in futuro trovato uguale a falso e
poi mentre passo attraverso tutto il resto del
eventi nel tempo se trovo la persona
in realtà ho comprato questo oggetto che ho trovato
equivale vero abbastanza facile ora che cosa
non ti ho parlato di proiezioni e
questa è un’idea chiave su eventi o sistemi
è che devono iniziare al numero dell’evento
zero il primo evento che il tuo
sistema messo fuori è dove una proiezione
inizia e lo si esegue fino in fondo
avanti fino a quando arriva a destra ora e
poi continua nel futuro e
questo potrebbe richiedere un po ‘di tempo
week-end si può immaginare che hai 500
milioni di eventi non vanno così velocemente
attualmente possiamo ottenere
fino a circa 70.000 mila per
in secondo luogo venendo fuori la persistenza ma
anche in quel momento ti prenderà
un po ‘per rigiocare così possiamo immaginare noi
inizialo perché andrà
nel server sequel partirà venerdì
entra lunedì che ora abbiamo letto
bottiglia lì la nostra proiezione è completata
quindi ora scriviamo un rapporto contro il nostro
leggere il modello o come martin chiamare desiderosi
leggere derivazione bellissimo termine dal
modo che i miei utenti vedono quando corre
il suo rapporto ben vede tutti i dati noi
non sapeva che avrebbe avuto questo
caratteristica ma non abbiamo perso nulla
possiamo davvero darglielo
non solo che posso anche andare al mio utente
e posso dire che conosci questo nuovo rapporto
che hai inventato questo è quello
la relazione ti avrebbe detto ad agosto
14th 2011 alle 1:30 per il pomeriggio
se hai questo rapporto a quel punto in
tempo puoi prendere qualsiasi rapporto e puoi
mostralo in qualsiasi punto della storia di
il sistema e puoi farlo tu puoi
fallo in modo deterministico se qualcuno
capita di lavorare con l’apprendimento automatico
in realtà ce ne sono alcuni ben noti
algoritmi per trattare con la macchina
apprendimento su flussi di eventi in
in particolare si chiama alpha beta
formazione, quindi quello che hai intenzione di avere è
puoi immaginare che Alpha sia proprio in quel momento
l’inizio della lista beta è di dieci eventi
avanti e il lavoro alfa è quello di prevedere dove
la beta è ma questa è una delle maggiori
i vantaggi del sourcing di eventi puoi andare
indietro e puoi prendere nuove idee e
applicali a qualsiasi punto della storia
del sistema non puoi cambiare cosa
è successo in passato ma puoi avere un
nuova percezione di quello che è successo nel
passato facciamo solo riportarlo a un
esempio del mondo reale che non consiglio
qualcuno lo fa ma immagina se tu
potrebbe prendere la tua mente attuale e portare
torna a quando hai 13 anni
il tuo primo ballo non può cambiare nulla
ma puoi percepirlo come al momento
non lo consiglio in generale
le persone stanno guardando all’evento che si sta verificando
a questi tipi di ragioni questi
lavoro letto
tuttavia c’è un sacco di programmi
o pornografia associata a questo come
molti hanno comprato un disco rigido prima di così
ci sono due velocità su un disco rigido a destra
ce n’è uno per scrivere in sequenza
ce n’è un altro per scrivere a caso
ok per essere onesti sugli SSD, no
conta davvero molto ma se ho un
registro eventi se sto in realtà la memorizzazione di questo
scrivo a caso o in sequenza
tutto è sequenziale e puoi
diventare molto molto molto veloce con un equo
possiamo creare un ingenuo su un singolo nodo
linearizzi a probabilmente cinquanta a a
centomila transazioni al secondo
quanti di voi ne fanno più di dieci
siamo un paio di ordini di grandezza sopra
dove hai davvero bisogno di essere e tu saresti
stupito di come le cose semplici arrivano quando tu
può effettivamente linearizzare tutto
ci sono altre cose interessanti che puoi
fare per me il più grande è questo
capacità di tornare indietro e fa
qualcuno sa cosa sia
questo telecomando erano in realtà
popolare in America ti hanno permesso di farlo
torna indietro e guarda la televisione
TiVo esattamente in realtà essere giusto il
la cosa più importante che hanno fatto è che ti abbiano lasciato
salta pubblicità e poi l’hanno presa
funzionalità via hanno avuto quella
pulsante avrebbero effettivamente trovato la fine
dello spot e potresti colpire
un tasto lo avrebbe riportato indietro
allo spettacolo
ma puoi fondamentalmente andare avanti e
indietro nel tempo all’interno di un
il sistema e il tempo di origine dell’evento diventano
esplicito che è un’altra grande cosa ma
ci sono altre cose davvero interessanti
voi ragazzi potete fare il giusto fumo
prova quindi quello che mi piace fare è archiviare
ogni comando che il mio sistema ha mai
elaborato mi hai detto di fare qualcosa io
ha scritto un evento dicendo che l’ho fatto
qualcosa e li replay ogni settimana
e confronto quello che ho fatto questa settimana quando
Riesco a ripetere ogni comando che il mio sistema ha mai
fatto a quello che ha prodotto la settimana scorsa sono
queste cose che mi aspettavo di avere
cambiare o sono cose che non ho fatto
aspetto di avere dei cambiamenti mentre cambio
comportamento nel tempo questo è veramente buono
prova di fumo ora questo non ti salverà
da tutti i bug di produzione ci sono ancora
cigno nero ‘scusa ma dovresti esserlo
abbastanza comodo spingendo qualcosa
alla produzione
se hai già preso quel software
e reran ogni singola transazione tua
sistema ha mai fatto prima attraverso il
nuovo software e non avere errori o
forse sei cattivo programmatore, non ti conosco
nascondi molto bene i tuoi bug, ma c’è
alcune altre cose interessanti che possiamo fare come
molti hanno sentito parlare di una tecnologia super -utente
La definizione di un attacco da superuser è
un amministratore di sistema canaglia o
sviluppatore che attacca il tuo sistema
hanno accesso come root e vogliono hackerare
probabilmente hanno accesso alla fonte
possono fare tutto ciò che vogliono giusto
anni fa aveva effettivamente un accordo con uno
di questi e stiamo costruendo il gioco d’azzardo
sistemi e siamo stati effettivamente eventi
originario e abbiamo dovuto fare un passo
ulteriormente nella nostra sicurezza in modo che potessimo
impedirlo un sistema fognario event può
prevenire un attacco da super utente, se lo si desidera
per andare a vedere questo il nome del ragazzo è
Chris Horne e c’è una pagina di Wikipedia
ed è in realtà uno speciale HBO di un’ora
a proposito di questo tizio sono le menti criminali
che non ho mai capito bene perché
tutte le loro menti criminali hanno ottenuto
preso così abbiamo avuto una piscina è stata chiamata
Prendi sei e fondamentalmente una scelta sei sei tu
scegliere i vincitori di sei gare in
una riga
ovviamente è difficile e vieni pagato a
molti soldi per farlo è stato il modo
di nuovo nei giorni csu / dsu e ciò che noi
stavano facendo invece di spostare tutto il
scommette sulla pista perché quando si scommette
questo tipo di biliardo su cui normalmente scommetti
100 scommesse per volta cosa stavamo facendo
li avremmo effettivamente archiviati al tuo
traccia locale fino alla fine del quarto
gara e quindi vorremmo solo spedire
quelli che potrebbero ancora riconquistare
i padroni di casa sanno bene che si sbarazzano
99% del traffico di rete che se
stai andando oltre le porte seriali è abbastanza
ragionevole quindi quello che stava facendo sarebbe
vai e metti una scommessa uno due tre quattro tutti
tutto a una traccia remota avrebbe guardato il
prime quattro gare e poi lui andrebbe
modifica la sua scommessa sul disco per cambiarne uno due
tre quattro con i veri vincitori di
le prime quattro gare buona truffa giusta e
è stato catturato non perché era stupido
ma perché è sfortunato
quanti hanno sentito parlare di Breeders Cup è
la seconda o terza più grande gara di
America e stava facendo questa truffa
durante la Breeders Cup e lui è passato
in tutto ciò che è normale scommettere
sopra l’IVR salito sulla macchina è cambiato
la scommessa uno due tre quattro al primo
quattro vincitori e poi 299 a un cavallo
è arrivato alla quinta e alle sei gambe
il biglietto unico vincente nel mondo IT
era come un biglietto da tre milioni di dollari
ora normalmente ci sarà facciamo
diciamo 30 40 vincitori per questo tipo di piscina
e sai che stai solo andando a ottenere
pagati qui sono i tuoi centomila dollari
il pagamento non è un grosso problema cosa ne pensi
succede quando c’è un biglietto vincente
nel mondo e il mutual manager va
e lo guarda ed è una scommessa come cinque
tre sette sei tutto ciò che nessun punter farebbe
mai scommesso questo perché se tu se qualcuno di
i primi quattro hanno perso tutto il tuo
biglietti sciolti così lui vede questa coppia
biglietto da un milione di dollari dice che prendiamo
al telefono Catskills capisce cosa c’è
andando laggiù
qualcosa di interessante oh c’è un
sviluppatore sulla linea di manutenzione che è
interessante oh il nastro di controllo viene espulso
si è interessante ma questo è un
attacco superutente abbastanza tipico e e
per essere giusti, la maggior parte dei superuser attacca loro
saranno mai catturati solo se lo sono
sfortunato ma possiamo prevenirlo con un
sistema di evento di archivio e abbiamo fatto il numero di
di sentito pensare a un verme guidare a destra
una volta letti molti, una volta che hai scritto
il disco pensa a un vecchio cd-rom
posso solo scrivere fisicamente alla cosa
una volta che non puoi scrivere fallo più
volte ora se il mio stato attuale è il primo
livello derivato al di fuori del mio registro registrati te
è necessario inserire qualcosa nel mio registro di controllo
cambia il mio stato ora se il mio registro di controllo è
su un verme come mi attacchi adesso
per essere onesti c’è un modo se sto scrivendo
molto lentamente potresti fare un intero
copia del worm drive e puoi farlo
cambiandoli possiamo ragionevolmente controllarli
che potrei scrivere un messaggio al verme
guida diciamo ogni cento
millisecondi quanti ne puoi cambiare a
drive worm per un’altra unità worm all’interno
100 millisecondi
scopri sempre che qualcuno è probabilmente
ha cambiato unità a questo punto è
utile per questo tipo di situazione ora
Non dirò che dovresti
usa sempre e solo gli eventi forzando se tu
capita di affrontare gli attacchi dei super utenti
um è solo una di quelle cose se tieni
nella tua cassetta degli attrezzi, se succede
diventare utile sarà molto utile
ora concettualmente iniziamo sempre da
evento 1 e andiamo alla fine del
flusso e questo funziona davvero bene per
la maggior parte delle cose quando parliamo di eventi o
i sistemi più eventi o sistemi non lo sono
avendo un ceppo gigante hanno milioni
di piccoli registri pensare a un mutuo
applicazione in una banca così arriva
c’è qualche processo di approvazione che
passa e in pratica ottieni
eventi scritti su quanti eventi
capita a una domanda di mutuo in a
banca per domanda di mutuo unico per
uno solo che sarebbe strano
sono molto occupati normalmente potremmo essere
dicendo 50/50 le cose accadranno a questo
nel suo intero ciclo di vita possiamo pensare
su di esso come un documento in a
database di documenti in modo da avere tutto il
eventi per un determinato documento ora normalmente
questo non sarà un problema per andare
da uno al fine del flusso
riprodurlo sarà molto molto veloce come
molto più costoso è leggere 20
righe da un database anziché
leggendo uno in termini di tempo per effettivamente
caricarlo tuttavia ci sono alcune cose questo
non funziona così bene con cosa se io fossi
prendere il libro degli ordini di Google nel
mercato azionario verso le due del
pomeriggio quante cose sono successe
a Google durante il giorno
ok ora sei milioni e se voglio
per farlo giocando da tutt’altra parte
alla fine del flusso anche se io
fare ciò concettualmente sarebbe molto molto
lento quindi c’è un modello correlato dove
possiamo iniziare a rilasciare istantanee a date
punti nel tempo all’interno del flusso così qui
per esempio al contrario di leggere da
uno alla fine sono effettivamente letto
all’indietro e iniziamo con le sei e poi
Emissario, non sei uno snapshot a cinque
istantanea Nessuna istantanea sei un’istantanea
sì così ora prendo il mio stato a quel punto
nel tempo e poi applico cinque e sei
in seguito, in generale, mai e poi mai immagazzinare
le istantanee come questo um cosa succede
quando li conservo così e lo siamo
attualmente alla quarta versione e dico ok
Allora scriverò una nuova istantanea
scrive la versione cinque della concorrenza
problema è la mia istantanea meno valida a
versione quattro perché ha messo la versione cinque
nel flusso di eventi così prendi il tuo
le istantanee aggiungono una versione e indicano nuovamente
al flusso di eventi che fondamentalmente memorizzi
li fuori dal lato insieme a questo tu
può avere molti molti diversi tipi di
istantanee che puntano allo stesso modo
flusso di eventi posso avere 25 diversi
pieghe che vanno tutte sullo stesso evento
flusso con le proprie percezioni di esso
e posso scattare tutti loro
in modo autonomo, in generale, evitare le istantanee
se puoi e non puoi sempre evitare
istantanee se hai qualcosa come 5
milioni di eventi per il tipo di libro di Google
è necessario avere uno snapshot in alcuni
punto ma quando si introduce un’istantanea
stai tornando indietro e lo sei
introducendolo di nuovo e avrai
tutti gli stessi problemi delle versioni che
si finisce con un database sequel o altro
struttura che conservi effettivamente quando io
punti di ventilazione del negozio Ho molto meno versioni
problemi posso portarlo ai server
al loro fianco ognuno ha il suo
percezione dei dati e di cui non ho bisogno
per parlare del refactoring del database
modelli anche se lo amo davvero
libro della serie quando parliamo
stato di stato è molto difficile da versione ora
ciò che è veramente interessante per me su
l’approvvigionamento di eventi è certo
le aziende che sono là fuori sono
già naturalmente evento di provenienza e se
introduci l’approvvigionamento di eventi a questi
le persone avranno un senso totale per loro
quanti ne hanno già parlato con un avvocato
così quando ho un contratto che è stato
scritto e poi vuoi fare un
passare ad esso, basta andare a modificare il
contratto giusto o lo mettiamo di Bendel
al contratto e oltre diciamo cinque
anni abbiamo 37 addendum al nostro
contratto e l’unico modo per capire
qual è il nostro contratto, prendiamo il
contratto originale applichiamo tutti i
addendum a loro uno dopo l’ altro in
ordinare che accadessero sembra familiare
quanti sono stati prima con un dottore
speriamo almeno una volta adesso quando andrai
al dottore fa una foto di
tu e mettilo nel tuo file e buttalo
via l’altra foto di te o lui
aggiungi costantemente documenti nel tuo file
e ci chiediamo perché hanno un momento difficile
capire i sistemi grezzi quando sono loro
il modello concettuale è che ho un file e io
aggiungi le cose nel file tutto il tempo
ci imbattiamo in questo molto ci sono molto
di domini che sono naturalmente
fonte di eventi ed eventi forzanti non è un
nuova cosa di cui parlo di più
ma sono riuscito a rintracciarlo fino in fondo
torna in Mesopotamia e Sumeria così quando
la gente chiede come me come faccio
affrontare questa nuova cosa non è nuovo
quanti usano oggi un database sequel
Indovina cosa stai già utilizzando evento
sourcing c’è questa cosa chiamata
registro delle transazioni nel tuo database sequel
ma ti imbatto in un problema se solo io
archivia i miei eventi come faccio a scrivere una query
Sto cercando tutti i clienti con
nome Greg per cui so che ci rivedremo
ogni evento che il mio sistema abbia mai fatto
prima di piegare ogni singolo
stream e metteremo un filtro alla fine
della piega per dire se lo è o no
attualmente Greg questo sarà veloce giusto
Big O of n è fantastico quando abbiamo 500
milioni di eventi e la maggior parte delle volte
stai parlando di eventi o sistemi
tu non interroghi i tuoi eventi che finisci
con un concetto noto come modelli letti
e questo ti riconduce al CQRS che siamo
parlerò ancora di segretezza della Caresse
principalmente insegnando il modello ma scrivo
eventi e poi ho n modelli letti
che in realtà posso leggere e questo
in realtà ti farà risparmiare un po ‘come
molti ne hanno sentito parlare prima che tu lo sappia
non sei forte se non stai usando
questi tranne uno di loro uno di loro
non è così bello che lascerò perdere
a voi ragazzi per capire quale, ma
quando guardo questo mi viene in mente
circa un decennio fa, specialmente in
Scandinavia come molti ricordano questi
i database degli oggetti concedono il
mondo erano dieci volte più veloci su OLTP
operazioni che sequel database essi
non ha avuto mancate corrispondenze di impedenza tra le tue
modello di dominio e la tua archiviazione dei dati loro
erano fantastici o come mia moglie a volte
Mi piace dire un vaso e quanti di voi
utilizzare un database di oggetti oggi uno I
pensavano che avrebbero preso il sopravvento
il mondo ti ricorda questo a
attualmente stiamo dicendo queste cose
stanno andando a conquistare il mondo perché
sono loro la nuova vecchia cosa, nessuno
era mai arrivato con un negozio di valore chiave
prima del database dei documenti nessuno mai
sentito parlare di oh aspettare Lotus Notes, ma perché
non sono le persone che usano questi oggi
quanti ne hanno usato uno così l’ho fatto
ha lavorato su alcuni progetti che hanno usato
uno di questi finiva sempre al
esattamente lo stesso guasto in modo che avrebbe costruito fuori
il nostro database degli oggetti se tutto fosse
bello con il nostro modello di dominio e noi
potrebbe andare avanti e indietro senza impedimenti
disallineamento siamo davvero molto felici e
quindi uno di questi affari incompetenti
la gente sarebbe venuta e lo farebbero
chiedici un rapporto e loro vorrebbero
noi per fare qualcosa come rimboccarsi le vendite
cliente obbligazionario basato e città e andiamo
beh, ma questo significa che ho bisogno di caricare
tutti quegli oggetti in memoria che non posso fare
quella
e poi abbiamo ricordato che abbiamo avuto questi
cose chiamate sequel database che
in realtà siamo davvero bravi in questo e
decidiamo che il database degli oggetti è totalmente
succhiare perché non lo fanno molto
bene e quindi dovremmo sempre fare
seguito e ci imbattiamo molto in questo
arriviamo e vogliamo uno strumento
quello che si adatta a tutti i nostri problemi è giusto
non avrai mai uno strumento adatto
tutti i tuoi problemi, non importa quanto duramente
tu provi e ogni singolo database sul
il pianeta fa schifo quando parliamo
database lì la loro scrittura non è molto
interessante la maggior parte di loro lavorano il
allo stesso modo di quello di cui stavamo parlando
con il sourcing Venn
aggiungo a un registro anni fa stavo dando un
parla in realtà quel negozio di eventi che è
Davis, io lavoro e nel mio parlare qualcuno
in realtà hai detto che sai che voi ragazzi lavorate
allo stesso modo internamente di Cassandra
lo stesso di Cassandra è come si noi
usa una unione strutturata per vedere
qualité, quindi, ovviamente, anche la luce del sequel
come Cassandra quando parli di un log
struttura si fondono ciò che faccio è accludo a
un log e poi ho chasers sul
registro che si sta aggiornando in memoria
strutture e poi li aggiorno in batch
giù su disco questo è quanti molti
i database funzionano pensando al sequel server
il tuo file di transazione stessa idea generale
quando parliamo di database cos’è
interessante con loro non si tratta di loro
scrivendo parla della loro lettura e noi
imbattersi in tutti i tipi di accidentali
complessità se abbiamo i modelli sbagliati
quindi voi ragazzi potreste aver sentito questo piccolo
avvio prima di quello che Twitter è nella sua
core è un pub / sub basato sull’argomento corretto noi
avere argomenti come hashtag e persone
iscriviti agli argomenti quindi se me lo chiedi
costruire Twitter la prima cosa che sto andando
di fare è ho intenzione di ignorare tutto
è stato fatto in ambito finanziario
industria negli ultimi trent’anni e
Lo costruirò con Ruby on Rails
e il mio sequel perché questo è ovviamente
come dovresti costruire un argomento basato
pub / sub correggere quanti ricordano il
fallire la balena per fortuna ne avevano abbastanza
capitale che erano in grado di uscire
di questo problema, ma hanno introdotto
la massiccia complessità XML è il punto
stavano gestendo centinaia e centinaia
delle mie istanze sequel per costruire un argomento
Pub / sub base davvero pessima idea lo farei
non raccomandare di andare in quel modo comunque se
ti capita di fare il prossimo Twitter
fammi sapere che investirò presto
altri esempi questo quanti ne avete
creato qualcosa come questo prima di noi
avere ID padre ID e alcuni dati e cosa
stiamo costruendo qui è essenzialmente un
albero e tu vai e tu lo rilasci
produzione e dicono che lo sai
prendendo nove minuti per portare
su quel rapporto e tu vai ma funziona
sulla mia macchina quindi qual è il problema ben
sulla tua macchina hai circa a
centinaia di file in quella tabella in produzione
ne hanno ottocentomila e
hai costruito una query ricorsiva così tu
erano intelligenti e voglio davvero sapere come
molti di voi sono disposti ad ammetterlo così
vieni su e dici che lo farò
quindi ora abbiamo l’ID genitore zero ID genitore
un ID genitore due ID padre tre e
ora puoi fare una o interrogare e tornare indietro
tutte le righe che sono sotto un dato
cosa solo usando il tuo ORS sul
gli ID dei genitori si accontentano di quanti
l’hai fatto davvero lo ammetterò
L’ho fatto e questo è un pezzo di
massiccia complessità accidentale perché
stiamo cercando di affrontare questo
tipo particolare di modello letto siamo
sforzandoci in esso un’alternativa
a questo potrebbe essere questa cosa chiamata a
i database del grafico del database grafico sono
davvero bravo a trattare con questo
e voglio essere chiaro non sto dicendo
che voi ragazzi dovreste avere un database
per problema, tienilo come un’opportunità
e quindi puoi parlare di
complessità operativa che tu
introdurre facendolo alla fine del
giorno se vado mettere un database grafico in
produzione qualcuno ha bisogno di mantenerlo
le operazioni devono sapere come sostenerlo
hanno bisogno di sapere come affrontarlo
ma questi sono tutti esempi di accidentali
complessità, in realtà guardo esattamente
problema in un’azienda in America e cosa
avevano era avevano persone e poi
avevano un tavolo chiamato persone
relazioni che si collegano a differenti
persone insieme basate su certo
tipo di relazione e ciò che vogliono
essere in grado di interrogare era così da questa persona
a questa persona che usa solo questi
i tipi di relazione posso trovare un percorso
hanno avuto un sequel mezzo milione di dollari
server facendo questo lo abbiamo sostituito
il corso di due giorni con neo4j e
il portatile era più veloce del loro
server di produzione è normale quando
scegli il modello giusto da tenere a mente
i modelli sbagliati introdurranno enormi
complessità accidentale al tuo sistema
quando parliamo di eventi o sistemi, noi
avere tanti modelli di lettura che vogliamo
all’interno del sistema tutto ciò che devono fare
è iscriversi agli eventi che sono
solo una proiezione
quello che normalmente andrà a finire è che lo faremo
archivia tutti i nostri eventi e poi lo faremo
finisci con n modelli letti che sono spenti
dalla parte ora so che siamo dentro
Scandinavia quindi ti ho davvero fatto
ragazzi il favore di darti il tuo
domande e queste sono cose che ho
sentito nel tempo
come per esempio gli eventi o i sistemi necessari
un bus di servizio sa quasi nulla ha bisogno
un bus di servizio se porti un autobus di servizio
nel problema che probabilmente stai facendo
un problema più grande nella maggior parte delle circostanze
e per essere giusto e nella maggior parte dei casi come
soprattutto se porti qualcosa
come questo non hai due problemi
hai il problema che hai BizTalk
e tu hai i migliori consulenti di conversazione
e prenderanno un’eternità per arrivare
sbarazzarsi di bene vedo persone che cercano di applicare
EventSource
sistemi con bus di servizio tutto il tempo
e quasi sempre falliscono e il
la ragione per cui falliscono è perché ce ne sono due
diversi tipi di modelli di abbonamento
c’è ciò che è noto come consumatore
abbonamento guidato pensa a un blog e
c’è ciò che è noto come server guidato
abbonamento che pensa AMQP e
normalmente quando parliamo di bus di servizio
useranno qualcosa del genere
Coniglio AMQP e coda sotto o ms
MQ o qualche sistema di accodamento websphere ora
il problema che incontriamo è ora
pubblichiamo i nostri messaggi
l’autobus ma cosa succede quando abbiamo un
nuovo modello e il nostro nuovo modello ora vuole
ottenere i nostri eventi storici attraverso il
bus di servizio quindi ora abbiamo bisogno di un controllo
canale ha bisogno di essere in grado di parlare
la cosa dall’altra parte per dire hey
dal modo in cui voglio sulla mia storia e noi
ho un altro problema con quello che fai
gli eventi che stanno accadendo attualmente
mentre stai rivisitando quella storia
attraverso il bus di servizio la prossima cosa
sai che sei in questa massiccia pila di
complessità accidentale ce n’è un’altra
modo di fare questo ed è a
abbonamento guidato dal consumatore che è
quello che la maggior parte della gente usa quando loro
parlare di sourcing di eventi quanti ne hanno
sentito parlare di qualcosa chiamato Kafka
Kafka è un abbonamento guidato dai consumatori
sistema e funziona proprio come il mio blog come
molti di voi hanno un blog oggi quanti ne leggono
i blog vanno bene, quindi lascia che M faccia la coda adesso
distribuisci il mio blog, quindi cosa sta succedendo
capita perché stiamo andando a lavorare solo
piace questo quando vuoi leggere il mio blog
mi mandi una mail dicendo ciao mi piacerebbe
per leggere il tuo blog puoi crearmi a
in coda quindi vado e creo il tuo
coda per te e ora il tuo client di posta elettronica
per il blog riceveranno effettivamente i post
dalla tua coda di rabbitmq, ma fresca
allora decidi che vuoi davvero andare
leggi i miei post più vecchi così mi mandi
un’altra e-mail che mi diceva di mettere tutti
i vecchi post nella tua coda per te
questo è ciò che intendo quando diciamo il controllo
canale è necessario avere questo altro
meccanismo di parlare avanti e indietro di
me per fare questo lavoro a
lavori di abbonamento guidati dai consumatori
esattamente come i blog quando vieni da me
blog ti do un atomo alimentare l’atomo
feed dice hey questo è dove tu
Attualmente sono vuoi andare al
evento più antico questo è dove il più vecchio
l’evento è e poi puoi venire avanti
nel flusso fino in fondo in modo da ottenere
alla corrente forse vuoi lavorare come
Twitter così quando vieni per la prima volta solo tu
voglio afferrare gli ultimi 50 che è
perfettamente bene anche il consumatore
ricorda dove si trovano nel flusso
non il produttore ora cosa succede quando
Ho 200 cose sottoscritte per un
abbonamento basato sul consumatore bene è no
problema cosa succede se hai un
abbonamento basato sul consumatore che si desidera
replay che vuoi abbattere tutti i miei
vecchi post del blog faccio come un server di cura non
Devo fare tutto questo è il
differenza se guardiamo a molte persone lo sono
usando i bus di servizio finiscono in questo
trappola dove finiscono per costruire il controllo
canali attorno a tutto e poi
l’approvvigionamento è più complesso e complesso
di cosa
è più complesso costruire un evento
sistema sorgente piuttosto che costruire un tipico
app crudele sì ma non a causa dell’evento
l’approvvigionamento è perché devi andare
attraverso e devi capire questi
le cose che chiamano casi d’uso e te
Devo parlare alle persone di come loro
voglio usare il software non solo cosa
dati che vogliono archiviare e gestire e
è un modo diverso di fare analisi
se si parla di sistemi siamo
davvero andando con un caso d’uso guidato
avvicinarsi e confrontarli con la fonte dell’evento
contro il non evento originario sono all’incirca
equivalente in termini di sforzo per essere giusto
se entri in un sistema di sorgenti di eventi
per la prima volta avrai un
curva di apprendimento che voi ragazzi siete stati
lavorando con crud per quanto tempo
conosco già molti casi limite
che incontri con crudino sai come
per gestirli sai quali sono i rischi
sono come affrontare i problemi in
produzione e c’è una curva di apprendimento
associato per ottenere le stesse informazioni
questa è una delle mie domande preferite
quali grandi aziende utilizzano il sourcing di eventi
bene praticamente tutto il tuo database
le aziende probabilmente lo sono già
usando semplicemente non lo sai e questo
è davvero un pessimo modo di fare
le decisioni in realtà sono morto un po ‘
dentro ogni volta che leggo questo su un
mailing list perché ovviamente se questo è grande
la compagnia sta facendo questo e questo fa
senso totale per noi di farlo perché
siamo una grande azienda in cui sono grandi
le persone della compagnia parlano di eventi o
i sistemi sono lenti e puoi immaginare
se ho cinque milioni di eventi e io
Devo ripetere cinque milioni di eventi
sarà davvero molto lento ma
cosa succede se dovessi conservarli in un attore
e distribuirò i miei attori
un ammasso e vorrei tenerli tutti dentro
memoria perché non devo replicare a
questo punto quando ne perdo uno e se io
dovevano rilasciare un’istantanea ogni uno
milioni di eventi quindi ora siamo limitati al
la maggior parte dell’arbitro live è di 1 milione e
questo è solo in una circostanza di fallimento
altrimenti tutti i miei dati sono attualmente in
memoria Questo suona come sarà
lento è possibile rendere questo tipo di sistemi
molto molto veloce, infatti, se inizi
andare si inizia a guardare e sistemi
bisogno di essere veloce e
mi interessa davvero cose come la latenza
stranamente tendono a usare queste idee
cose come scambiare uno dei più grandi
quelli che mi uccidono è quello che le persone hanno
ora associato il sourcing di eventi con
orientamento all’oggetto e in particolare
design guidato dal dominio per essere più giusto e
il primo modello di eventi non è un oggetto
orientato è funzionale quando lo fa
un evento cambia quindi abbiamo intero e
dati mutabili e o per ottenere lo stato corrente
abbiamo lasciato fold oltre qualunque cosa
abbiamo in passato questo è ovviamente
orientato agli oggetti si ma persone con
eventi o sistemi associati a
orientato agli oggetti e sicuro del dominio e
sistemi di design basati ed è totalmente
non è esso intrinsecamente funzionale
è un sistema funzionale di gestione
archiviazione dei dati e mi è stato chiesto questo
domanda molto e la migliore struttura
probabilmente lo farai
nessuno quando inizi a tornare e tu
inizia a dire che voglio essere in grado di ripetere
questi eventi si fanno avanti okay è a
left fold hai davvero bisogno di un framework
per implementare la piega a sinistra per te
anche se ad essere sinceri ci sono alcuni ragazzi
qui ad Aarhus che stanno costruendo un CQRS
quadro così quando ci sono pause loro
vivi localmente e puoi infastidirli così
potrebbe essere davvero bello da guardare
e nel tempo ne ho avuto un sacco
persone che parlano di questi dati
requisito e stiamo andando a memorizzare
tutto ciò che stiamo per pendere
tutto nel nostro sistema quanti ne hanno
mai visto quale sia il tuo stato attuale
è nel tuo database sequel rispetto al
dimensione del tuo aspetto della transazione
i registri delle transazioni sono molto più grandi normalmente
ma quello che devi davvero chiedertelo
non si tratta di quanti dati stiamo andando
avere ciò di cui hai bisogno per chiedertelo
a quale tasso attuale e quale futuro
sarà il tasso di conservazione dei dati e
è necessario prendere questo è necessario portare
torna indietro e confrontalo con la legge di Moore se
Voglio andare cinque anni fa e comprare un
SSD di un terabyte come
molto sarebbe che hanno un costo di oggi che
Ti costano circa 500 dollari americani
disposto a scommettervi entro tre anni
avremo due SSD di terabyte, quindi è necessario
per capire non solo ciò che è mio
conservazione, ma come si adatta quella curva
quando lo ordino accanto alla legge di Moore e
se sei più lento della legge di Moore, allora
indovinate un po ‘i vostri dati sta per arrivare
più economico ed economico ed economico da conservare
nel tempo e ci sono alcuni sistemi I
può dirvi oggi è necessario essere
seduto a circa tre a cinquemila
messaggi al secondo prima che realmente
devo iniziare a preoccuparti delle cose una volta
hai raggiunto quel livello che devi preoccuparti
circa le cose nel futuro se
sei al di sotto di quello più economico e
più economico e più economico e ce ne sono alcuni
sistemi ma letteralmente quanti di voi
i ragazzi hanno più di dieci transazioni per
secondo ancora siamo come due o tre
le mani la maggior parte dei sistemi sta facendo molto piccolo
quantità di informazioni e siamo
entrare nell’ottimizzazione prematura quando
iniziamo a parlare di tutti questi tipi
di problemi e ad essere onesti se posso mettere
tutti i tuoi dati su una micro SD non lo sono
grandi dati ora ho parlato con
persone su CQRS da molto tempo
e CQRS non è mai stato concepito come tale
molto di un modello che in realtà d’accordo con
le persone funzionali quando dicono questo
non abbiamo chiamato queste cose
schemi scriviamo solo codice e io no
bisogno di un modello per ogni singola cosa
che faremo il CQRS nel suo complesso
la cosa che stava dietro alla CQRS era davvero
fai in modo che le persone inizino a guardare le loro
domini in un modo diverso per guidarli
a tutto il resto di cui stiamo parlando
su di esso anche li conduce a cose come
costruire attori per il loro dominio
modello che non funziona molto bene se
stai supportando tutte le tue letture
il tuo modello di dominio con ao m dietro di esso
una volta che inizi a dire che stiamo andando
avere i nostri modelli letti qui e noi
interrogarli separatamente rispetto a quello che noi
in realtà scrivi : tutto gira e basta
funziona molto bene ma la cosa principale
Dovevo fare per portare le persone verso
questa idea era quella di dar loro
qualcosa per separare la lettura nel
scrivere parte del processo
senza quello non avrebbero mai fatto il
saltare da aria orientato agli oggetti che uso
cita perché non sono davvero
orientati agli oggetti sono come oggetti C ++
modello di dominio di orientamento per andare tutti
la via verso qualcosa che è
fonte di eventi con modelli di lettura sul lato
e sicuro RS è stata una grande parte di
ma non è qualcosa che tu
davvero bisogno di andare fuori e ottenere davvero
in profondità se si paga PI il più stupido
modello mai scritto se hai un vuoto
tipo di ritorno vai qui se ne hai uno
tipo di reso non vuoto vai lì è a
intero modello che rende anche molto
di divertimento quando senti gente che parla
su come CQRS è crack per gli architetti
e siete come ah da un modello più stupida
mai scritto e questo era già lì
e ho ottenuto molto da questo
sii giusto l’ unica cosa che posso davvero dire
è grazie non è Enterprise e al
allo stesso tempo non ti costerà sapere
mezzo milione di dollari solo per entrare
qualcosa di veramente semplice e tu no
ho bisogno di molte persone di grandi quadri
stanno utilizzando o e se si vuole veramente
Impresa ti piace molto IBM ha molto
di roba per venderti e con quello vorrei
Vorrei ringraziare tutti voi ragazzi per
effettivamente uscendo lo apprezzo molto
tutti in realtà sono venuti per parlare e
con quello se qualcuno ha qualche domanda
hey non hai un problema quando tu
bisogno di decidere quali dettagli per star in
l’evento perché non sai quale
dettagli di cui avrai bisogno di un cinque
anni da oggi, quando si sta andando a
costruire un nuovo modello va bene è giusto
quindi quando parliamo del fatto oh scusa
um è stato come determinare quale
dettagli per mettere effettivamente dentro un
evento ed è la stessa identica analisi
che fai per usare l’analisi del caso quando
stiamo parlando di ciò che è il fatto
quello realmente accaduto all’interno del nostro
sistema e cosa ci interessa e
questo è assolutamente un problema di analisi
e ci vuole del tempo per lavorare con
per ottenere correttamente un normale follow-up
domanda a questo è ciò che accade
ciò che è nel fatto cambia nel tempo
e come posso farlo nel tempo per
Sono sicuro che qualcuno lo chiederà davvero
domanda Ho sempre capito che c’è un
Risposta di 45 minuti a questa domanda um
scusa è su DDD CQRS calmo ed è dentro
a metà di sei ore e mezza
video sono circa due ore in uh-huh I
consiglio vivamente di guardare il
intero video, ma questo è corretto quando noi
parlare di fatti nel tempo e come loro
cambiare in generale ciò che iniziamo a parlare
riguardo sta usando un ibrido o debole
serializzazione per ottenerlo
funziona pure ma puoi farlo con
serializzazione forte quindi ho letteralmente
è una risposta di 45 minuti quando tu
introdurre già il sourcing di eventi
applicazioni esistenti con un già
stabilito cambiando modello di dominio cosa
sarebbe il modo migliore per tipo di
evitando il penguinese che è in realtà
una grande domanda e quando parliamo
migrazione dei dati esistenti a un evento
sistema sorgente ci sono due modi di
in realtà trattare con esso il primo modo
che siamo in grado di trattare con esso e questo è
in realtà allo stesso modo non so se
chiunque sente il nostro ha funzionato come una contabilità
sistema quindi è esattamente la stessa cosa
che faresti con una contabilità
sistema quindi se alla fine dell’anno I
vuoi passare da Great Planes a set
per la mia contabilità ho due opzioni
Posso o migrare tutti i miei dati
di Great Plains e portare tutto il
transazioni su tutti i conti in
il nuovo sistema o posso farcela solo
l’equilibrio iniziale di tutti i miei
dati originali e ci sono momenti in cui
userà entrambi e per qualsiasi problema tu sia
intenzione di utilizzare entrambe queste soluzioni su
andrò e useremo solo DDD
terminologia rapidamente aggregata da
aggregare in alcuni aggregati che posso
portare come un’istantanea un cliente
inizializzato di esso il nostro cliente
inizializzato dal vecchio sistema altri
potrebbe essere in grado di decodificare il
storia e in quei casi che posso
in realtà portare la storia a
anche gli eventi e cosa può fare
permettimi di fare se lo faccio se lo faccio
abbastanza bene posso davvero iniziare
correndo fianco a fianco così faccio il vecchio
sistema almeno alzando gli eventi
il modo e potrebbe ancora essere agitazione
anche a una terza forma normale, ma ora
il nuovo sistema sta anche aumentando gli eventi
e quello che possiamo fare è che possiamo proiettare
quegli eventi rientrano nel dire
terzo modello di forma normale, quindi puoi
fondamentalmente corrono fianco a fianco con questi
tipi di sistemi in cui ti stai trasferendo
termini di migrazione ci sono i due
strategie e puoi e userai
entrambi contemporaneamente in um è davvero
una cosa in cui entri ed è
aggregare per aggregato o documento di
documento a seconda di come si desidera guardare
a questo e tu sceglierai entrambi
strategie oh scusa
ok bene allora ti ringrazierò ragazzi per
essendo uscito e se lo hai fatto
domande che so particolarmente
Alle persone scandinave piace fare domande
uno su uno, quindi probabilmente sarò in giro
la maggior parte del resto del giorno oggi e a
Almeno domani mattina grazie
a Copenaghen e lo hanno avuto nel
pista sanguinante così la prima volta
effettivamente parlato di event sourcing era
al Q con 2007 Martin era in realtà a
questo discorso e io ero spaventato così insensato
Vengo e parlo di nuove idee
intorno alla messaggistica di design basata su domini
e questo tipo di idee e il mio fronte
fila era Martin Eric Evans e Gregor
sperando di avere probabilmente circa 30 anni
bicchieri di caffè prima di iniziare e io
ha attraversato tutta la mia discussione in 17 anni
minuti è stato un discorso davvero orribile
giusto credo che Martin mi ha dato un cartellino rosso
Eric mi ha anche detto è un brutto discorso che se
non hai mai incontrato Eric, non lo sa davvero
dì cose cattive ma non è nuovo
idee e persino tornare indietro nel modo più simile
2006-2007 queste idee vanno molto indietro
passato quello che ci ha portato davvero verso
guardando l’ event sourcing è stato questo che noi
bisogno di avere un log e abbiamo bisogno di avere
un controllo adeguato ora per alcuni sistemi è
molto molto importante per altri sistemi
Non è così importante che è quello che ci ha portato
verso l’idea di sourcing di eventi e
Da allora in realtà ho usato una diapositiva
2007 perché la diapositiva è così perfetta
ciò che è interessante per me quando parliamo
sull’origine dell’evento è che se guardi
alle aziende mature e quando dico
maturo non intendo Groupon ogni
una di queste fonti di eventi
concettualmente finanziare il gioco d’azzardo bancario
assicurazione tutti loro sono naturalmente
evento di provenienza di quanti di voi hanno un
conto bancario pensi che il tuo
equilibrio è una colonna in una tabella o è
il tuo saldo equazione è il tuo equilibrio
una somma di tutto il precedente
transazioni che sono accadute sul tuo
conto corretto e se fosse solo un
colonna quindi pensi che dovresti avere
10000 corona la banca dice che hai 1200
corona e li chiami nel telefono
e dire che penso che il mio equilibrio sia sbagliato
e dicono che tutto saluta la colonna che è
non molto utile ma se lo dico il tuo
l’equilibrio è una somma di tutto il
le transazioni precedenti sono avvenute su
il tuo account prima di noi possiamo prendere un
penna e carta e capire cosa sei
equilibrio dovrebbe essere che si può discutere sui
se esista o meno un fatto ma tu
non posso discutere sul risultato complessivo
da ciò deriva che questo è uno di questi
i motivi principali per cui le aziende sono effettivamente
andando verso l’event sourcing avendo questo
derivato di primo livello che è dimostrabile
o è inverosimile in realtà molto molto
cosa preziosa di cui parleremo
più ci sono molte altre ragioni
perché tutte queste industrie sono andate
e sono naturalmente eventi di provenienza
prima di entrare in quelli oh andiamo up
con una definizione di sourcing di eventi quando
parli di un negozio di eventi sistema tu
solo i fatti del negozio tutto lo stato nel tuo
il sistema è un derivato di primo livello disattivato
i tuoi fatti proprio come abbiamo detto banca
equilibrio è un’equazione che scappa
le tue transazioni possono essere tutte le condizioni
lavorato in questo modo possiamo dire che lo faremo
memorizza solo eventi all’interno di a
sistema e qualsiasi stato tu voglia
non mi importa se è una canna
modella se si tratta di un oggetto dominio
tutto ciò che vuoi avere è a
derivativo di primo livello al di fuori di questo e
possiamo farlo per qualsiasi problema che sia stato
usando questo esempio per molto tempo e
quanti di voi già sanno quale evento
l’approvvigionamento è ok buon numero cercherò di farlo
passare attraverso le definizioni e e
mostrando alla gente abbastanza velocemente così noi
può arrivare alle cose più interessanti
ora questo è il mio pezzo di stato canonico
quindi abbiamo un ordine di acquisto con n linea
articoli e alcune informazioni di spedizione
associato con esso questo non è l’unico
modo di memorizzare le informazioni anche se questo
è quello che ci è stato insegnato a cui preoccuparsi
quanti di voi spendono grandi porzioni di
la tua giornata a parlare della forma dei dati
e se inizi a memorizzare questo corri
in tutti i tipi di problemi interessanti
quanti hanno scritto una migrazione sequel
sceneggiatura prima del divertimento, giusto per essere onesti
non potrà mai fare una versione del Big Bang
sempre dove prendo un pezzo di
software e portarlo
il motivo per cui non è perché sono
preoccupato che lo toglierò e
quando ho riportarlo non funzionerà
è davvero facile, basta fare un rollback
giusto cosa succede quando lo abbassi
lo fai risalire e poi funziona
va bene per una settimana e poi si rompe come
molti di voi scrivono script di migrazione
prendi il nuovo schema con tutto il nuovo
dati e riportarli al vecchio schema
quindi abbiamo avuto uno scherzo che quando hai
questo problema dove viene eseguito per una settimana
e poi muore tu hai la tua scelta
è possibile indossare il cappello vigile del fuoco o
il cappello da cowboy
per essere onesti, in realtà raccomando molto
le squadre per fare questo i cappelli sono fondamentalmente
un token e se qualcuno entra nel tuo
ufficio e tu stai indossando il pompiere
appena usciranno , verrò come
molti voi ragazzi avete lavorato in produzione
prima e poi qualcuno è entrato per chiedere
per la festa di Natale e qui
come uscire dal mio ufficio, ma non posso
dillo ora questo è il nostro pezzo canonico
di stato ma questo non è l’ unico modo di
occuparsi di un insieme di informazioni che posso
anche affrontarlo come questo dove noi
avere carrello creato tre articoli aggiunti e
quindi spedisci le informazioni a questo ora
tre elementi aggiunti sono in realtà tre
eventi distinti se ne metto tre distinti
eventi lì che le scatole sono appena diventate davvero
piccolo e non potresti leggerli nessuno
più, ma ogni punto nel tempo che potevo
prendere questi cinque eventi e potrei
ripetili e potrei restituirti
questo in altre parole, posso restituirti
un pezzo di stato e quello che stiamo andando a
dire in un sistema sorgente di eventi è quello
tutto lo stato è transitorio non prendermi
sbagliato potrebbe essere persistente ma lo è
transitorio
ciò che conta sono i miei eventi, perché nessuno
dato punto nel tempo posso sempre replicare
i miei eventi per restituirti qualsiasi pezzo di
dichiari nell’intero sistema il mio libro di
registrare è i miei eventi se la gente qui in a
programmazione funzionale in un altro modo noi
potrei dire che questo è lo stato attuale
una piega a sinistra dei comportamenti precedenti che posso
ripiegare sui miei comportamenti precedenti e dare
si torna ad interpretare e
potrebbe essere la tua interpretazione attuale
domani potrebbe essere completamente
interpretazione diversa e questa è una
dei principali valori di Venn sourcing è
che questo concetto di stato diventa
transitorio che cambia di più nel tuo
sistema come vedi i tuoi casi d’uso o
i tuoi casi d’uso reali
i tuoi eventi si allineano direttamente all’utilizzo
casi ora mi ci sono voluti per sempre da trovare
quella diapositiva originale perché c’è un
ragioniere cancellando nel mezzo di
i loro contabili contabili non lo fanno
a meno che non lavorassero per la Enron in cui
caso che probabilmente fanno in una fonte di eventi
sistema non abbiamo alcun concetto di aggiornamento
o una cancellazione che puoi sempre aggiungere
cose e questo funziona allo stesso modo il
I contendenti lavorano
quanti hanno preso una lezione di contabilità
prima forse all’università, probabilmente
ti ha detto che i ragionieri non lavorano in
matita lavorano a penna una volta che hai messo
qualcosa nel tuo libro mastro non hai mai
mai tirarlo fuori e facciamo lo stesso
cosa nella presa di forza ora sono solo io
curioso quanti di voi hanno un aggiornamento
o un’istruzione delete nel tuo sistema
oggi va bene, ora tieni le mani in alto
quanti di voi in una scheda di livello C.
incontro per decidere che tali informazioni
era privo di significato ed era perfettamente
bene per sbarazzarsi di come hai determinato
che quell’informazione non aveva valore come
fai anche un’analisi costi-benefici
su informazioni quindi ho alcuni dati
oggi sta succedendo nel mio
sistema per me per un costo-beneficio
analisi Ho bisogno di sapere come sono i miei affari
vuole guardare queste informazioni in
tre anni quanti puoi prevedere
dove il business sta per essere in
tre anni e quali domande chiederanno
tu come fai a prendere questa decisione
aggiorna o cancella i dati che porti fuori
la tua 8-ball magica scuoti e prova a farlo
capire cosa sta andando il business
chiedi quanto costa per il negozio
un gigabyte di dati per un anno oggi
devi essere onesto, in realtà è zero
basta aprire un account gmail e archiviare
nel tuo account Gmail ma costa
quasi niente quanti fatti puoi
misura di un gigabyte di dati
immaginiamo che sono tutti 1k ciascuno
un sacco di fatti che è possibile memorizzare non lo fanno
bisogno di trarre molti benefici dal tuo
dati in fondo alla strada e parlerò
su questo un po ‘ più tardi ma ottengo
questa domanda molto se mai solo
appena memorizzato
tutto quello che il mio appuntamento arriverà
davvero molto grande per essere più giusto
sistemi che posso adattare i tuoi dati su un micro
SD non sei big data anche se lo sei
aggiungendo che stai parlando di oh così
nei prossimi cinque anni lo faremo
finire con un centinaio di gigabyte del valore di
dati ok quanto costa il
negozio cento gigabyte non abbiamo un
aggiornamento o un’operazione di cancellazione quando noi
parlare di eventi o sistemi ci sono
solo aggiungere e proprio come cosa
ragionieri ne aggiungiamo sempre un nuovo
evento quindi se dovessi tornare indietro e lo ero
guardare alla contabilità diciamo che io
fatto un errore e ti ho trasferito dieci
mille corona rispetto a uno
mille corona perché l’ho sgraziato
Y sta andando a zero nel libro mastro
no, quindi ne farò uno dei due
cose che farò o no
gli account chiamano un’inversione parziale in
In tal caso inserirò una voce di diario
quello dice che sono preso indietro di nove mila
da te e metterlo nell’altro
ai ragionieri contabili non piace fare
questo va bene se è bello il numero dieci
mille e novemila puoi
capisci cosa intendevo inizialmente
fare è mille e se ci sono sei
account coinvolti e non lo sono
numeri perfettamente rotondi bene allora tu
devo prendere carta e penna e provare
per capire quale fosse la mia intenzione originale
era così invece cosa faranno i ragionieri
faranno ciò che è noto come pieno
inversione I fat-finger ti do dieci
Mille ne riprendo diecimila
tu segnalo che la prima cosa era dentro
errore e poi faccio quello che effettivamente
inteso perché perché un auditor può venire
indietro attraverso qui e lui riesce a capire
esattamente quello che intendevo fare è il
stessa cosa abbiamo parlato di eventi o
sistemi tendiamo a preferire inversioni complete
al contrario di partial, ma diciamo io
voglio rimuovere un oggetto che potrei dire
ora abbiamo carrello creato tre articoli
aggiunto un articolo rimosso e spedizione
le informazioni sono le stesse di
carrello creato due articoli aggiunti spedizione
informazioni a questo mi piace sempre
domanda perché circa la metà della stanza è
andando sì e mezzo giro andando no e
non sei diventato un buon consulente se
non hai imparato le parole dipende
c’è in realtà una bella pagina su
c-4 wiki su di esso dipende ora se lo fossi
a guardarlo da questa prospettiva sì
quei due sono esattamente lo stesso che sono corretto
andando a uscire un ordine con due linee
articoli e informazioni di spedizione
ad esso associato sia di quelli
cosa succede se ho avuto un diverso
prospettiva però se io fossi
contando quante volte erano gli oggetti
rimosso sarebbero loro lo stesso no e
è in realtà un trucco divertente se puoi andare
nel tuo sistema oggi e tu puoi venire
con qualsiasi serie di casi d’uso che se ne va
tu allo stesso stato finale di un altro
serie di casi d’uso indovina cosa sei
perdere le informazioni che hai appena mostrato
non hai un hash perfetto come ha fatto
tu dai valore a quelle informazioni che ti hanno fatto
parlare di questo è uno dei principali
benefici dell’approvvigionamento degli eventi e perché
le imprese in realtà vanno verso il
concetto di sourcing di eventi indipendentemente da
se ne parliamo in codice o semplicemente
concettualmente l’approvvigionamento di eventi non lo fa
perdere informazioni è l’unico modello
che puoi eventualmente usare quello no
perdere informazioni e puoi avere un sacco
di diverse implementazioni di esso molto
di sistemi contabili, ad esempio
sono una tabella con una colonna descrittiva
che dice tipo di riga e poi si uniscono
su un’altra tabella per ottenere il resto
le informazioni per quella riga che è a
la sua fonte di eventi cuore che stanno memorizzando
fatti e risultati derivanti dal loro
fatti un sistema sorgente di eventi è l’unico
modo possibile, non si può perdere informazioni
quando parli di memorizzare dati qualsiasi
l’altra forma perde qualcosa ora da vedere
il vero valore di ciò che dobbiamo
fare è dobbiamo passare e provare un
esempio quindi immaginiamo di esserlo
usando questo modello per non so
qualcosa come Amazon e il nostro business
l’utente viene da noi e dice che lo sai
pensa alle persone che rimuovono i loro oggetti
dai loro carrelli entro cinque minuti
prima del check-out è più probabile che
comprare quell’oggetto in futuro rispetto al
altre cose li mostriamo casualmente bene
perché rimuovi un articolo dal tuo carrello
cinque minuti prima del check-out, così tu
vai e guarda il carrello che sarà
come 800 corone, mi sento come se potessi
compra tutte quelle cose ma mia moglie ucciderà
io o io possiamo rimuovere
tre oggetti della carta posso prenderne un po ‘
degli articoli dal carrello e mia moglie
non mi ucciderà quindi ne prenderò un po ‘
quelli non è che non voglio il
altre cose è che sono D
dare la priorità a loro rispetto al resto
quindi con questo modello lo faremo ora
prendi questa carta dal muro che stiamo andando
per cercare di implementarlo quindi immagino il nostro
la prima cosa che faremo sarà aggiungere un
nuova cosa chiamata in cima chiamata rimossa
voci, quindi stiamo andando a è
stiamo scrivendo un rapporto che cerca
elementi pubblicitari rimossi e fa una sottoquery
torna per vedere se la persona ha comprato
questo in futuro, quindi lo abbiamo messo in atto
produzione che il nostro utente commerciale dice che voglio
per eseguire questo rapporto e lo eseguono cosa
vedono che il rapporto inizia da qui
e avanza
proviamo in questo modello ora quando parliamo
sullo stato derivante da un evento
flusso è noto come una proiezione di cosa
facciamo è proiettiamo una serie di stati
di un flusso di eventi se sei nel
mondo funzionale di nuovo questa è una sinistra
piega è molto più facile in the
il mondo funzionale non hanno tutto
questi schemi di fantasia sono così che sono
andando a fare è come ripiegare l’evento
stream Sto andando a cercare un oggetto
rimosso e quando trovo un oggetto rimosso
Ho intenzione di metterlo nel mio stato come
si sta dispiegando e sto per dirlo
ho trovato questo oggetto rimosso e ora lo sono
cercando il checkout quando ottengo il
checkout Confronto il tempo in cui il
l’oggetto è stato rimosso al momento del
checkout se fosse in cinque minuti mi
Segna che sto cercando questo articolo
in futuro trovato uguale a falso e
poi mentre passo attraverso tutto il resto del
eventi nel tempo se trovo la persona
in realtà ho comprato questo oggetto che ho trovato
equivale vero abbastanza facile ora che cosa
non ti ho parlato di proiezioni e
questa è un’idea chiave su eventi o sistemi
è che devono iniziare al numero dell’evento
zero il primo evento che il tuo
sistema messo fuori è dove una proiezione
inizia e lo si esegue fino in fondo
avanti fino a quando arriva a destra ora e
poi continua nel futuro e
questo potrebbe richiedere un po ‘di tempo
week-end si può immaginare che hai 500
milioni di eventi non vanno così velocemente
attualmente possiamo ottenere
fino a circa 70.000 mila per
in secondo luogo venendo fuori la persistenza ma
anche in quel momento ti prenderà
un po ‘per rigiocare così possiamo immaginare noi
inizialo perché andrà
nel server sequel partirà venerdì
entra lunedì che ora abbiamo letto
bottiglia lì la nostra proiezione è completata
quindi ora scriviamo un rapporto contro il nostro
leggere il modello o come martin chiamare desiderosi
leggere derivazione bellissimo termine dal
modo che i miei utenti vedono quando corre
il suo rapporto ben vede tutti i dati noi
non sapeva che avrebbe avuto questo
caratteristica ma non abbiamo perso nulla
possiamo davvero darglielo
non solo che posso anche andare al mio utente
e posso dire che conosci questo nuovo rapporto
che hai inventato questo è quello
la relazione ti avrebbe detto ad agosto
14th 2011 alle 1:30 per il pomeriggio
se hai questo rapporto a quel punto in
tempo puoi prendere qualsiasi rapporto e puoi
mostralo in qualsiasi punto della storia di
il sistema e puoi farlo tu puoi
fallo in modo deterministico se qualcuno
capita di lavorare con l’apprendimento automatico
in realtà ce ne sono alcuni ben noti
algoritmi per trattare con la macchina
apprendimento su flussi di eventi in
in particolare si chiama alpha beta
formazione, quindi quello che hai intenzione di avere è
puoi immaginare che Alpha sia proprio in quel momento
l’inizio della lista beta è di dieci eventi
avanti e il lavoro alfa è quello di prevedere dove
la beta è ma questa è una delle maggiori
i vantaggi del sourcing di eventi puoi andare
indietro e puoi prendere nuove idee e
applicali a qualsiasi punto della storia
del sistema non puoi cambiare cosa
è successo in passato ma puoi avere un
nuova percezione di quello che è successo nel
passato facciamo solo riportarlo a un
esempio del mondo reale che non consiglio
qualcuno lo fa ma immagina se tu
potrebbe prendere la tua mente attuale e portare
torna a quando hai 13 anni
il tuo primo ballo non può cambiare nulla
ma puoi percepirlo come al momento
non lo consiglio in generale
le persone stanno guardando all’evento che si sta verificando
a questi tipi di ragioni questi
lavoro letto
tuttavia c’è un sacco di programmi
o pornografia associata a questo come
molti hanno comprato un disco rigido prima di così
ci sono due velocità su un disco rigido a destra
ce n’è uno per scrivere in sequenza
ce n’è un altro per scrivere a caso
ok per essere onesti sugli SSD, no
conta davvero molto ma se ho un
registro eventi se sto in realtà la memorizzazione di questo
scrivo a caso o in sequenza
tutto è sequenziale e puoi
diventare molto molto molto veloce con un equo
possiamo creare un ingenuo su un singolo nodo
linearizzi a probabilmente cinquanta a a
centomila transazioni al secondo
quanti di voi ne fanno più di dieci
siamo un paio di ordini di grandezza sopra
dove hai davvero bisogno di essere e tu saresti
stupito di come le cose semplici arrivano quando tu
può effettivamente linearizzare tutto
ci sono altre cose interessanti che puoi
fare per me il più grande è questo
capacità di tornare indietro e fa
qualcuno sa cosa sia
questo telecomando erano in realtà
popolare in America ti hanno permesso di farlo
torna indietro e guarda la televisione
TiVo esattamente in realtà essere giusto il
la cosa più importante che hanno fatto è che ti abbiano lasciato
salta pubblicità e poi l’hanno presa
funzionalità via hanno avuto quella
pulsante avrebbero effettivamente trovato la fine
dello spot e potresti colpire
un tasto lo avrebbe riportato indietro
allo spettacolo
ma puoi fondamentalmente andare avanti e
indietro nel tempo all’interno di un
il sistema e il tempo di origine dell’evento diventano
esplicito che è un’altra grande cosa ma
ci sono altre cose davvero interessanti
voi ragazzi potete fare il giusto fumo
prova quindi quello che mi piace fare è archiviare
ogni comando che il mio sistema ha mai
elaborato mi hai detto di fare qualcosa io
ha scritto un evento dicendo che l’ho fatto
qualcosa e li replay ogni settimana
e confronto quello che ho fatto questa settimana quando
Riesco a ripetere ogni comando che il mio sistema ha mai
fatto a quello che ha prodotto la settimana scorsa sono
queste cose che mi aspettavo di avere
cambiare o sono cose che non ho fatto
aspetto di avere dei cambiamenti mentre cambio
comportamento nel tempo questo è veramente buono
prova di fumo ora questo non ti salverà
da tutti i bug di produzione ci sono ancora
cigno nero ‘scusa ma dovresti esserlo
abbastanza comodo spingendo qualcosa
alla produzione
se hai già preso quel software
e reran ogni singola transazione tua
sistema ha mai fatto prima attraverso il
nuovo software e non avere errori o
forse sei cattivo programmatore, non ti conosco
nascondi molto bene i tuoi bug, ma c’è
alcune altre cose interessanti che possiamo fare come
molti hanno sentito parlare di una tecnologia super -utente
La definizione di un attacco da superuser è
un amministratore di sistema canaglia o
sviluppatore che attacca il tuo sistema
hanno accesso come root e vogliono hackerare
probabilmente hanno accesso alla fonte
possono fare tutto ciò che vogliono giusto
anni fa aveva effettivamente un accordo con uno
di questi e stiamo costruendo il gioco d’azzardo
sistemi e siamo stati effettivamente eventi
originario e abbiamo dovuto fare un passo
ulteriormente nella nostra sicurezza in modo che potessimo
impedirlo un sistema fognario event può
prevenire un attacco da super utente, se lo si desidera
per andare a vedere questo il nome del ragazzo è
Chris Horne e c’è una pagina di Wikipedia
ed è in realtà uno speciale HBO di un’ora
a proposito di questo tizio sono le menti criminali
che non ho mai capito bene perché
tutte le loro menti criminali hanno ottenuto
preso così abbiamo avuto una piscina è stata chiamata
Prendi sei e fondamentalmente una scelta sei sei tu
scegliere i vincitori di sei gare in
una riga
ovviamente è difficile e vieni pagato a
molti soldi per farlo è stato il modo
di nuovo nei giorni csu / dsu e ciò che noi
stavano facendo invece di spostare tutto il
scommette sulla pista perché quando si scommette
questo tipo di biliardo su cui normalmente scommetti
100 scommesse per volta cosa stavamo facendo
li avremmo effettivamente archiviati al tuo
traccia locale fino alla fine del quarto
gara e quindi vorremmo solo spedire
quelli che potrebbero ancora riconquistare
i padroni di casa sanno bene che si sbarazzano
99% del traffico di rete che se
stai andando oltre le porte seriali è abbastanza
ragionevole quindi quello che stava facendo sarebbe
vai e metti una scommessa uno due tre quattro tutti
tutto a una traccia remota avrebbe guardato il
prime quattro gare e poi lui andrebbe
modifica la sua scommessa sul disco per cambiarne uno due
tre quattro con i veri vincitori di
le prime quattro gare buona truffa giusta e
è stato catturato non perché era stupido
ma perché è sfortunato
quanti hanno sentito parlare di Breeders Cup è
la seconda o terza più grande gara di
America e stava facendo questa truffa
durante la Breeders Cup e lui è passato
in tutto ciò che è normale scommettere
sopra l’IVR salito sulla macchina è cambiato
la scommessa uno due tre quattro al primo
quattro vincitori e poi 299 a un cavallo
è arrivato alla quinta e alle sei gambe
il biglietto unico vincente nel mondo IT
era come un biglietto da tre milioni di dollari
ora normalmente ci sarà facciamo
diciamo 30 40 vincitori per questo tipo di piscina
e sai che stai solo andando a ottenere
pagati qui sono i tuoi centomila dollari
il pagamento non è un grosso problema cosa ne pensi
succede quando c’è un biglietto vincente
nel mondo e il mutual manager va
e lo guarda ed è una scommessa come cinque
tre sette sei tutto ciò che nessun punter farebbe
mai scommesso questo perché se tu se qualcuno di
i primi quattro hanno perso tutto il tuo
biglietti sciolti così lui vede questa coppia
biglietto da un milione di dollari dice che prendiamo
al telefono Catskills capisce cosa c’è
andando laggiù
qualcosa di interessante oh c’è un
sviluppatore sulla linea di manutenzione che è
interessante oh il nastro di controllo viene espulso
si è interessante ma questo è un
attacco superutente abbastanza tipico e e
per essere giusti, la maggior parte dei superuser attacca loro
saranno mai catturati solo se lo sono
sfortunato ma possiamo prevenirlo con un
sistema di evento di archivio e abbiamo fatto il numero di
di sentito pensare a un verme guidare a destra
una volta letti molti, una volta che hai scritto
il disco pensa a un vecchio cd-rom
posso solo scrivere fisicamente alla cosa
una volta che non puoi scrivere fallo più
volte ora se il mio stato attuale è il primo
livello derivato al di fuori del mio registro registrati te
è necessario inserire qualcosa nel mio registro di controllo
cambia il mio stato ora se il mio registro di controllo è
su un verme come mi attacchi adesso
per essere onesti c’è un modo se sto scrivendo
molto lentamente potresti fare un intero
copia del worm drive e puoi farlo
cambiandoli possiamo ragionevolmente controllarli
che potrei scrivere un messaggio al verme
guida diciamo ogni cento
millisecondi quanti ne puoi cambiare a
drive worm per un’altra unità worm all’interno
100 millisecondi
scopri sempre che qualcuno è probabilmente
ha cambiato unità a questo punto è
utile per questo tipo di situazione ora
Non dirò che dovresti
usa sempre e solo gli eventi forzando se tu
capita di affrontare gli attacchi dei super utenti
um è solo una di quelle cose se tieni
nella tua cassetta degli attrezzi, se succede
diventare utile sarà molto utile
ora concettualmente iniziamo sempre da
evento 1 e andiamo alla fine del
flusso e questo funziona davvero bene per
la maggior parte delle cose quando parliamo di eventi o
i sistemi più eventi o sistemi non lo sono
avendo un ceppo gigante hanno milioni
di piccoli registri pensare a un mutuo
applicazione in una banca così arriva
c’è qualche processo di approvazione che
passa e in pratica ottieni
eventi scritti su quanti eventi
capita a una domanda di mutuo in a
banca per domanda di mutuo unico per
uno solo che sarebbe strano
sono molto occupati normalmente potremmo essere
dicendo 50/50 le cose accadranno a questo
nel suo intero ciclo di vita possiamo pensare
su di esso come un documento in a
database di documenti in modo da avere tutto il
eventi per un determinato documento ora normalmente
questo non sarà un problema per andare
da uno al fine del flusso
riprodurlo sarà molto molto veloce come
molto più costoso è leggere 20
righe da un database anziché
leggendo uno in termini di tempo per effettivamente
caricarlo tuttavia ci sono alcune cose questo
non funziona così bene con cosa se io fossi
prendere il libro degli ordini di Google nel
mercato azionario verso le due del
pomeriggio quante cose sono successe
a Google durante il giorno
ok ora sei milioni e se voglio
per farlo giocando da tutt’altra parte
alla fine del flusso anche se io
fare ciò concettualmente sarebbe molto molto
lento quindi c’è un modello correlato dove
possiamo iniziare a rilasciare istantanee a date
punti nel tempo all’interno del flusso così qui
per esempio al contrario di leggere da
uno alla fine sono effettivamente letto
all’indietro e iniziamo con le sei e poi
Emissario, non sei uno snapshot a cinque
istantanea Nessuna istantanea sei un’istantanea
sì così ora prendo il mio stato a quel punto
nel tempo e poi applico cinque e sei
in seguito, in generale, mai e poi mai immagazzinare
le istantanee come questo um cosa succede
quando li conservo così e lo siamo
attualmente alla quarta versione e dico ok
Allora scriverò una nuova istantanea
scrive la versione cinque della concorrenza
problema è la mia istantanea meno valida a
versione quattro perché ha messo la versione cinque
nel flusso di eventi così prendi il tuo
le istantanee aggiungono una versione e indicano nuovamente
al flusso di eventi che fondamentalmente memorizzi
li fuori dal lato insieme a questo tu
può avere molti molti diversi tipi di
istantanee che puntano allo stesso modo
flusso di eventi posso avere 25 diversi
pieghe che vanno tutte sullo stesso evento
flusso con le proprie percezioni di esso
e posso scattare tutti loro
in modo autonomo, in generale, evitare le istantanee
se puoi e non puoi sempre evitare
istantanee se hai qualcosa come 5
milioni di eventi per il tipo di libro di Google
è necessario avere uno snapshot in alcuni
punto ma quando si introduce un’istantanea
stai tornando indietro e lo sei
introducendolo di nuovo e avrai
tutti gli stessi problemi delle versioni che
si finisce con un database sequel o altro
struttura che conservi effettivamente quando io
punti di ventilazione del negozio Ho molto meno versioni
problemi posso portarlo ai server
al loro fianco ognuno ha il suo
percezione dei dati e di cui non ho bisogno
per parlare del refactoring del database
modelli anche se lo amo davvero
libro della serie quando parliamo
stato di stato è molto difficile da versione ora
ciò che è veramente interessante per me su
l’approvvigionamento di eventi è certo
le aziende che sono là fuori sono
già naturalmente evento di provenienza e se
introduci l’approvvigionamento di eventi a questi
le persone avranno un senso totale per loro
quanti ne hanno già parlato con un avvocato
così quando ho un contratto che è stato
scritto e poi vuoi fare un
passare ad esso, basta andare a modificare il
contratto giusto o lo mettiamo di Bendel
al contratto e oltre diciamo cinque
anni abbiamo 37 addendum al nostro
contratto e l’unico modo per capire
qual è il nostro contratto, prendiamo il
contratto originale applichiamo tutti i
addendum a loro uno dopo l’ altro in
ordinare che accadessero sembra familiare
quanti sono stati prima con un dottore
speriamo almeno una volta adesso quando andrai
al dottore fa una foto di
tu e mettilo nel tuo file e buttalo
via l’altra foto di te o lui
aggiungi costantemente documenti nel tuo file
e ci chiediamo perché hanno un momento difficile
capire i sistemi grezzi quando sono loro
il modello concettuale è che ho un file e io
aggiungi le cose nel file tutto il tempo
ci imbattiamo in questo molto ci sono molto
di domini che sono naturalmente
fonte di eventi ed eventi forzanti non è un
nuova cosa di cui parlo di più
ma sono riuscito a rintracciarlo fino in fondo
torna in Mesopotamia e Sumeria così quando
la gente chiede come me come faccio
affrontare questa nuova cosa non è nuovo
quanti usano oggi un database sequel
Indovina cosa stai già utilizzando evento
sourcing c’è questa cosa chiamata
registro delle transazioni nel tuo database sequel
ma ti imbatto in un problema se solo io
archivia i miei eventi come faccio a scrivere una query
Sto cercando tutti i clienti con
nome Greg per cui so che ci rivedremo
ogni evento che il mio sistema abbia mai fatto
prima di piegare ogni singolo
stream e metteremo un filtro alla fine
della piega per dire se lo è o no
attualmente Greg questo sarà veloce giusto
Big O of n è fantastico quando abbiamo 500
milioni di eventi e la maggior parte delle volte
stai parlando di eventi o sistemi
tu non interroghi i tuoi eventi che finisci
con un concetto noto come modelli letti
e questo ti riconduce al CQRS che siamo
parlerò ancora di segretezza della Caresse
principalmente insegnando il modello ma scrivo
eventi e poi ho n modelli letti
che in realtà posso leggere e questo
in realtà ti farà risparmiare un po ‘come
molti ne hanno sentito parlare prima che tu lo sappia
non sei forte se non stai usando
questi tranne uno di loro uno di loro
non è così bello che lascerò perdere
a voi ragazzi per capire quale, ma
quando guardo questo mi viene in mente
circa un decennio fa, specialmente in
Scandinavia come molti ricordano questi
i database degli oggetti concedono il
mondo erano dieci volte più veloci su OLTP
operazioni che sequel database essi
non ha avuto mancate corrispondenze di impedenza tra le tue
modello di dominio e la tua archiviazione dei dati loro
erano fantastici o come mia moglie a volte
Mi piace dire un vaso e quanti di voi
utilizzare un database di oggetti oggi uno I
pensavano che avrebbero preso il sopravvento
il mondo ti ricorda questo a
attualmente stiamo dicendo queste cose
stanno andando a conquistare il mondo perché
sono loro la nuova vecchia cosa, nessuno
era mai arrivato con un negozio di valore chiave
prima del database dei documenti nessuno mai
sentito parlare di oh aspettare Lotus Notes, ma perché
non sono le persone che usano questi oggi
quanti ne hanno usato uno così l’ho fatto
ha lavorato su alcuni progetti che hanno usato
uno di questi finiva sempre al
esattamente lo stesso guasto in modo che avrebbe costruito fuori
il nostro database degli oggetti se tutto fosse
bello con il nostro modello di dominio e noi
potrebbe andare avanti e indietro senza impedimenti
disallineamento siamo davvero molto felici e
quindi uno di questi affari incompetenti
la gente sarebbe venuta e lo farebbero
chiedici un rapporto e loro vorrebbero
noi per fare qualcosa come rimboccarsi le vendite
cliente obbligazionario basato e città e andiamo
beh, ma questo significa che ho bisogno di caricare
tutti quegli oggetti in memoria che non posso fare
quella
e poi abbiamo ricordato che abbiamo avuto questi
cose chiamate sequel database che
in realtà siamo davvero bravi in questo e
decidiamo che il database degli oggetti è totalmente
succhiare perché non lo fanno molto
bene e quindi dovremmo sempre fare
seguito e ci imbattiamo molto in questo
arriviamo e vogliamo uno strumento
quello che si adatta a tutti i nostri problemi è giusto
non avrai mai uno strumento adatto
tutti i tuoi problemi, non importa quanto duramente
tu provi e ogni singolo database sul
il pianeta fa schifo quando parliamo
database lì la loro scrittura non è molto
interessante la maggior parte di loro lavorano il
allo stesso modo di quello di cui stavamo parlando
con il sourcing Venn
aggiungo a un registro anni fa stavo dando un
parla in realtà quel negozio di eventi che è
Davis, io lavoro e nel mio parlare qualcuno
in realtà hai detto che sai che voi ragazzi lavorate
allo stesso modo internamente di Cassandra
lo stesso di Cassandra è come si noi
usa una unione strutturata per vedere
qualité, quindi, ovviamente, anche la luce del sequel
come Cassandra quando parli di un log
struttura si fondono ciò che faccio è accludo a
un log e poi ho chasers sul
registro che si sta aggiornando in memoria
strutture e poi li aggiorno in batch
giù su disco questo è quanti molti
i database funzionano pensando al sequel server
il tuo file di transazione stessa idea generale
quando parliamo di database cos’è
interessante con loro non si tratta di loro
scrivendo parla della loro lettura e noi
imbattersi in tutti i tipi di accidentali
complessità se abbiamo i modelli sbagliati
quindi voi ragazzi potreste aver sentito questo piccolo
avvio prima di quello che Twitter è nella sua
core è un pub / sub basato sull’argomento corretto noi
avere argomenti come hashtag e persone
iscriviti agli argomenti quindi se me lo chiedi
costruire Twitter la prima cosa che sto andando
di fare è ho intenzione di ignorare tutto
è stato fatto in ambito finanziario
industria negli ultimi trent’anni e
Lo costruirò con Ruby on Rails
e il mio sequel perché questo è ovviamente
come dovresti costruire un argomento basato
pub / sub correggere quanti ricordano il
fallire la balena per fortuna ne avevano abbastanza
capitale che erano in grado di uscire
di questo problema, ma hanno introdotto
la massiccia complessità XML è il punto
stavano gestendo centinaia e centinaia
delle mie istanze sequel per costruire un argomento
Pub / sub base davvero pessima idea lo farei
non raccomandare di andare in quel modo comunque se
ti capita di fare il prossimo Twitter
fammi sapere che investirò presto
altri esempi questo quanti ne avete
creato qualcosa come questo prima di noi
avere ID padre ID e alcuni dati e cosa
stiamo costruendo qui è essenzialmente un
albero e tu vai e tu lo rilasci
produzione e dicono che lo sai
prendendo nove minuti per portare
su quel rapporto e tu vai ma funziona
sulla mia macchina quindi qual è il problema ben
sulla tua macchina hai circa a
centinaia di file in quella tabella in produzione
ne hanno ottocentomila e
hai costruito una query ricorsiva così tu
erano intelligenti e voglio davvero sapere come
molti di voi sono disposti ad ammetterlo così
vieni su e dici che lo farò
quindi ora abbiamo l’ID genitore zero ID genitore
un ID genitore due ID padre tre e
ora puoi fare una o interrogare e tornare indietro
tutte le righe che sono sotto un dato
cosa solo usando il tuo ORS sul
gli ID dei genitori si accontentano di quanti
l’hai fatto davvero lo ammetterò
L’ho fatto e questo è un pezzo di
massiccia complessità accidentale perché
stiamo cercando di affrontare questo
tipo particolare di modello letto siamo
sforzandoci in esso un’alternativa
a questo potrebbe essere questa cosa chiamata a
i database del grafico del database grafico sono
davvero bravo a trattare con questo
e voglio essere chiaro non sto dicendo
che voi ragazzi dovreste avere un database
per problema, tienilo come un’opportunità
e quindi puoi parlare di
complessità operativa che tu
introdurre facendolo alla fine del
giorno se vado mettere un database grafico in
produzione qualcuno ha bisogno di mantenerlo
le operazioni devono sapere come sostenerlo
hanno bisogno di sapere come affrontarlo
ma questi sono tutti esempi di accidentali
complessità, in realtà guardo esattamente
problema in un’azienda in America e cosa
avevano era avevano persone e poi
avevano un tavolo chiamato persone
relazioni che si collegano a differenti
persone insieme basate su certo
tipo di relazione e ciò che vogliono
essere in grado di interrogare era così da questa persona
a questa persona che usa solo questi
i tipi di relazione posso trovare un percorso
hanno avuto un sequel mezzo milione di dollari
server facendo questo lo abbiamo sostituito
il corso di due giorni con neo4j e
il portatile era più veloce del loro
server di produzione è normale quando
scegli il modello giusto da tenere a mente
i modelli sbagliati introdurranno enormi
complessità accidentale al tuo sistema
quando parliamo di eventi o sistemi, noi
avere tanti modelli di lettura che vogliamo
all’interno del sistema tutto ciò che devono fare
è iscriversi agli eventi che sono
solo una proiezione
quello che normalmente andrà a finire è che lo faremo
archivia tutti i nostri eventi e poi lo faremo
finisci con n modelli letti che sono spenti
dalla parte ora so che siamo dentro
Scandinavia quindi ti ho davvero fatto
ragazzi il favore di darti il tuo
domande e queste sono cose che ho
sentito nel tempo
come per esempio gli eventi o i sistemi necessari
un bus di servizio sa quasi nulla ha bisogno
un bus di servizio se porti un autobus di servizio
nel problema che probabilmente stai facendo
un problema più grande nella maggior parte delle circostanze
e per essere giusto e nella maggior parte dei casi come
soprattutto se porti qualcosa
come questo non hai due problemi
hai il problema che hai BizTalk
e tu hai i migliori consulenti di conversazione
e prenderanno un’eternità per arrivare
sbarazzarsi di bene vedo persone che cercano di applicare
EventSource
sistemi con bus di servizio tutto il tempo
e quasi sempre falliscono e il
la ragione per cui falliscono è perché ce ne sono due
diversi tipi di modelli di abbonamento
c’è ciò che è noto come consumatore
abbonamento guidato pensa a un blog e
c’è ciò che è noto come server guidato
abbonamento che pensa AMQP e
normalmente quando parliamo di bus di servizio
useranno qualcosa del genere
Coniglio AMQP e coda sotto o ms
MQ o qualche sistema di accodamento websphere ora
il problema che incontriamo è ora
pubblichiamo i nostri messaggi
l’autobus ma cosa succede quando abbiamo un
nuovo modello e il nostro nuovo modello ora vuole
ottenere i nostri eventi storici attraverso il
bus di servizio quindi ora abbiamo bisogno di un controllo
canale ha bisogno di essere in grado di parlare
la cosa dall’altra parte per dire hey
dal modo in cui voglio sulla mia storia e noi
ho un altro problema con quello che fai
gli eventi che stanno accadendo attualmente
mentre stai rivisitando quella storia
attraverso il bus di servizio la prossima cosa
sai che sei in questa massiccia pila di
complessità accidentale ce n’è un’altra
modo di fare questo ed è a
abbonamento guidato dal consumatore che è
quello che la maggior parte della gente usa quando loro
parlare di sourcing di eventi quanti ne hanno
sentito parlare di qualcosa chiamato Kafka
Kafka è un abbonamento guidato dai consumatori
sistema e funziona proprio come il mio blog come
molti di voi hanno un blog oggi quanti ne leggono
i blog vanno bene, quindi lascia che M faccia la coda adesso
distribuisci il mio blog, quindi cosa sta succedendo
capita perché stiamo andando a lavorare solo
piace questo quando vuoi leggere il mio blog
mi mandi una mail dicendo ciao mi piacerebbe
per leggere il tuo blog puoi crearmi a
in coda quindi vado e creo il tuo
coda per te e ora il tuo client di posta elettronica
per il blog riceveranno effettivamente i post
dalla tua coda di rabbitmq, ma fresca
allora decidi che vuoi davvero andare
leggi i miei post più vecchi così mi mandi
un’altra e-mail che mi diceva di mettere tutti
i vecchi post nella tua coda per te
questo è ciò che intendo quando diciamo il controllo
canale è necessario avere questo altro
meccanismo di parlare avanti e indietro di
me per fare questo lavoro a
lavori di abbonamento guidati dai consumatori
esattamente come i blog quando vieni da me
blog ti do un atomo alimentare l’atomo
feed dice hey questo è dove tu
Attualmente sono vuoi andare al
evento più antico questo è dove il più vecchio
l’evento è e poi puoi venire avanti
nel flusso fino in fondo in modo da ottenere
alla corrente forse vuoi lavorare come
Twitter così quando vieni per la prima volta solo tu
voglio afferrare gli ultimi 50 che è
perfettamente bene anche il consumatore
ricorda dove si trovano nel flusso
non il produttore ora cosa succede quando
Ho 200 cose sottoscritte per un
abbonamento basato sul consumatore bene è no
problema cosa succede se hai un
abbonamento basato sul consumatore che si desidera
replay che vuoi abbattere tutti i miei
vecchi post del blog faccio come un server di cura non
Devo fare tutto questo è il
differenza se guardiamo a molte persone lo sono
usando i bus di servizio finiscono in questo
trappola dove finiscono per costruire il controllo
canali attorno a tutto e poi
l’approvvigionamento è più complesso e complesso
di cosa
è più complesso costruire un evento
sistema sorgente piuttosto che costruire un tipico
app crudele sì ma non a causa dell’evento
l’approvvigionamento è perché devi andare
attraverso e devi capire questi
le cose che chiamano casi d’uso e te
Devo parlare alle persone di come loro
voglio usare il software non solo cosa
dati che vogliono archiviare e gestire e
è un modo diverso di fare analisi
se si parla di sistemi siamo
davvero andando con un caso d’uso guidato
avvicinarsi e confrontarli con la fonte dell’evento
contro il non evento originario sono all’incirca
equivalente in termini di sforzo per essere giusto
se entri in un sistema di sorgenti di eventi
per la prima volta avrai un
curva di apprendimento che voi ragazzi siete stati
lavorando con crud per quanto tempo
conosco già molti casi limite
che incontri con crudino sai come
per gestirli sai quali sono i rischi
sono come affrontare i problemi in
produzione e c’è una curva di apprendimento
associato per ottenere le stesse informazioni
questa è una delle mie domande preferite
quali grandi aziende utilizzano il sourcing di eventi
bene praticamente tutto il tuo database
le aziende probabilmente lo sono già
usando semplicemente non lo sai e questo
è davvero un pessimo modo di fare
le decisioni in realtà sono morto un po ‘
dentro ogni volta che leggo questo su un
mailing list perché ovviamente se questo è grande
la compagnia sta facendo questo e questo fa
senso totale per noi di farlo perché
siamo una grande azienda in cui sono grandi
le persone della compagnia parlano di eventi o
i sistemi sono lenti e puoi immaginare
se ho cinque milioni di eventi e io
Devo ripetere cinque milioni di eventi
sarà davvero molto lento ma
cosa succede se dovessi conservarli in un attore
e distribuirò i miei attori
un ammasso e vorrei tenerli tutti dentro
memoria perché non devo replicare a
questo punto quando ne perdo uno e se io
dovevano rilasciare un’istantanea ogni uno
milioni di eventi quindi ora siamo limitati al
la maggior parte dell’arbitro live è di 1 milione e
questo è solo in una circostanza di fallimento
altrimenti tutti i miei dati sono attualmente in
memoria Questo suona come sarà
lento è possibile rendere questo tipo di sistemi
molto molto veloce, infatti, se inizi
andare si inizia a guardare e sistemi
bisogno di essere veloce e
mi interessa davvero cose come la latenza
stranamente tendono a usare queste idee
cose come scambiare uno dei più grandi
quelli che mi uccidono è quello che le persone hanno
ora associato il sourcing di eventi con
orientamento all’oggetto e in particolare
design guidato dal dominio per essere più giusto e
il primo modello di eventi non è un oggetto
orientato è funzionale quando lo fa
un evento cambia quindi abbiamo intero e
dati mutabili e o per ottenere lo stato corrente
abbiamo lasciato fold oltre qualunque cosa
abbiamo in passato questo è ovviamente
orientato agli oggetti si ma persone con
eventi o sistemi associati a
orientato agli oggetti e sicuro del dominio e
sistemi di design basati ed è totalmente
non è esso intrinsecamente funzionale
è un sistema funzionale di gestione
archiviazione dei dati e mi è stato chiesto questo
domanda molto e la migliore struttura
probabilmente lo farai
nessuno quando inizi a tornare e tu
inizia a dire che voglio essere in grado di ripetere
questi eventi si fanno avanti okay è a
left fold hai davvero bisogno di un framework
per implementare la piega a sinistra per te
anche se ad essere sinceri ci sono alcuni ragazzi
qui ad Aarhus che stanno costruendo un CQRS
quadro così quando ci sono pause loro
vivi localmente e puoi infastidirli così
potrebbe essere davvero bello da guardare
e nel tempo ne ho avuto un sacco
persone che parlano di questi dati
requisito e stiamo andando a memorizzare
tutto ciò che stiamo per pendere
tutto nel nostro sistema quanti ne hanno
mai visto quale sia il tuo stato attuale
è nel tuo database sequel rispetto al
dimensione del tuo aspetto della transazione
i registri delle transazioni sono molto più grandi normalmente
ma quello che devi davvero chiedertelo
non si tratta di quanti dati stiamo andando
avere ciò di cui hai bisogno per chiedertelo
a quale tasso attuale e quale futuro
sarà il tasso di conservazione dei dati e
è necessario prendere questo è necessario portare
torna indietro e confrontalo con la legge di Moore se
Voglio andare cinque anni fa e comprare un
SSD di un terabyte come
molto sarebbe che hanno un costo di oggi che
Ti costano circa 500 dollari americani
disposto a scommettervi entro tre anni
avremo due SSD di terabyte, quindi è necessario
per capire non solo ciò che è mio
conservazione, ma come si adatta quella curva
quando lo ordino accanto alla legge di Moore e
se sei più lento della legge di Moore, allora
indovinate un po ‘i vostri dati sta per arrivare
più economico ed economico ed economico da conservare
nel tempo e ci sono alcuni sistemi I
può dirvi oggi è necessario essere
seduto a circa tre a cinquemila
messaggi al secondo prima che realmente
devo iniziare a preoccuparti delle cose una volta
hai raggiunto quel livello che devi preoccuparti
circa le cose nel futuro se
sei al di sotto di quello più economico e
più economico e più economico e ce ne sono alcuni
sistemi ma letteralmente quanti di voi
i ragazzi hanno più di dieci transazioni per
secondo ancora siamo come due o tre
le mani la maggior parte dei sistemi sta facendo molto piccolo
quantità di informazioni e siamo
entrare nell’ottimizzazione prematura quando
iniziamo a parlare di tutti questi tipi
di problemi e ad essere onesti se posso mettere
tutti i tuoi dati su una micro SD non lo sono
grandi dati ora ho parlato con
persone su CQRS da molto tempo
e CQRS non è mai stato concepito come tale
molto di un modello che in realtà d’accordo con
le persone funzionali quando dicono questo
non abbiamo chiamato queste cose
schemi scriviamo solo codice e io no
bisogno di un modello per ogni singola cosa
che faremo il CQRS nel suo complesso
la cosa che stava dietro alla CQRS era davvero
fai in modo che le persone inizino a guardare le loro
domini in un modo diverso per guidarli
a tutto il resto di cui stiamo parlando
su di esso anche li conduce a cose come
costruire attori per il loro dominio
modello che non funziona molto bene se
stai supportando tutte le tue letture
il tuo modello di dominio con ao m dietro di esso
una volta che inizi a dire che stiamo andando
avere i nostri modelli letti qui e noi
interrogarli separatamente rispetto a quello che noi
in realtà scrivi : tutto gira e basta
funziona molto bene ma la cosa principale
Dovevo fare per portare le persone verso
questa idea era quella di dar loro
qualcosa per separare la lettura nel
scrivere parte del processo
senza quello non avrebbero mai fatto il
saltare da aria orientato agli oggetti che uso
cita perché non sono davvero
orientati agli oggetti sono come oggetti C ++
modello di dominio di orientamento per andare tutti
la via verso qualcosa che è
fonte di eventi con modelli di lettura sul lato
e sicuro RS è stata una grande parte di
ma non è qualcosa che tu
davvero bisogno di andare fuori e ottenere davvero
in profondità se si paga PI il più stupido
modello mai scritto se hai un vuoto
tipo di ritorno vai qui se ne hai uno
tipo di reso non vuoto vai lì è a
intero modello che rende anche molto
di divertimento quando senti gente che parla
su come CQRS è crack per gli architetti
e siete come ah da un modello più stupida
mai scritto e questo era già lì
e ho ottenuto molto da questo
sii giusto l’ unica cosa che posso davvero dire
è grazie non è Enterprise e al
allo stesso tempo non ti costerà sapere
mezzo milione di dollari solo per entrare
qualcosa di veramente semplice e tu no
ho bisogno di molte persone di grandi quadri
stanno utilizzando o e se si vuole veramente
Impresa ti piace molto IBM ha molto
di roba per venderti e con quello vorrei
Vorrei ringraziare tutti voi ragazzi per
effettivamente uscendo lo apprezzo molto
tutti in realtà sono venuti per parlare e
con quello se qualcuno ha qualche domanda
hey non hai un problema quando tu
bisogno di decidere quali dettagli per star in
l’evento perché non sai quale
dettagli di cui avrai bisogno di un cinque
anni da oggi, quando si sta andando a
costruire un nuovo modello va bene è giusto
quindi quando parliamo del fatto oh scusa
um è stato come determinare quale
dettagli per mettere effettivamente dentro un
evento ed è la stessa identica analisi
che fai per usare l’analisi del caso quando
stiamo parlando di ciò che è il fatto
quello realmente accaduto all’interno del nostro
sistema e cosa ci interessa e
questo è assolutamente un problema di analisi
e ci vuole del tempo per lavorare con
per ottenere correttamente un normale follow-up
domanda a questo è ciò che accade
ciò che è nel fatto cambia nel tempo
e come posso farlo nel tempo per
Sono sicuro che qualcuno lo chiederà davvero
domanda Ho sempre capito che c’è un
Risposta di 45 minuti a questa domanda um
scusa è su DDD CQRS calmo ed è dentro
a metà di sei ore e mezza
video sono circa due ore in uh-huh I
consiglio vivamente di guardare il
intero video, ma questo è corretto quando noi
parlare di fatti nel tempo e come loro
cambiare in generale ciò che iniziamo a parlare
riguardo sta usando un ibrido o debole
serializzazione per ottenerlo
funziona pure ma puoi farlo con
serializzazione forte quindi ho letteralmente
è una risposta di 45 minuti quando tu
introdurre già il sourcing di eventi
applicazioni esistenti con un già
stabilito cambiando modello di dominio cosa
sarebbe il modo migliore per tipo di
evitando il penguinese che è in realtà
una grande domanda e quando parliamo
migrazione dei dati esistenti a un evento
sistema sorgente ci sono due modi di
in realtà trattare con esso il primo modo
che siamo in grado di trattare con esso e questo è
in realtà allo stesso modo non so se
chiunque sente il nostro ha funzionato come una contabilità
sistema quindi è esattamente la stessa cosa
che faresti con una contabilità
sistema quindi se alla fine dell’anno I
vuoi passare da Great Planes a set
per la mia contabilità ho due opzioni
Posso o migrare tutti i miei dati
di Great Plains e portare tutto il
transazioni su tutti i conti in
il nuovo sistema o posso farcela solo
l’equilibrio iniziale di tutti i miei
dati originali e ci sono momenti in cui
userà entrambi e per qualsiasi problema tu sia
intenzione di utilizzare entrambe queste soluzioni su
andrò e useremo solo DDD
terminologia rapidamente aggregata da
aggregare in alcuni aggregati che posso
portare come un’istantanea un cliente
inizializzato di esso il nostro cliente
inizializzato dal vecchio sistema altri
potrebbe essere in grado di decodificare il
storia e in quei casi che posso
in realtà portare la storia a
anche gli eventi e cosa può fare
permettimi di fare se lo faccio se lo faccio
abbastanza bene posso davvero iniziare
correndo fianco a fianco così faccio il vecchio
sistema almeno alzando gli eventi
il modo e potrebbe ancora essere agitazione
anche a una terza forma normale, ma ora
il nuovo sistema sta anche aumentando gli eventi
e quello che possiamo fare è che possiamo proiettare
quegli eventi rientrano nel dire
terzo modello di forma normale, quindi puoi
fondamentalmente corrono fianco a fianco con questi
tipi di sistemi in cui ti stai trasferendo
termini di migrazione ci sono i due
strategie e puoi e userai
entrambi contemporaneamente in um è davvero
una cosa in cui entri ed è
aggregare per aggregato o documento di
documento a seconda di come si desidera guardare
a questo e tu sceglierai entrambi
strategie oh scusa
ok bene allora ti ringrazierò ragazzi per
essendo uscito e se lo hai fatto
domande che so particolarmente
Alle persone scandinave piace fare domande
uno su uno, quindi probabilmente sarò in giro
la maggior parte del resto del giorno oggi e a
Almeno domani mattina grazie
Please follow and like us: