Press "Enter" to skip to content

GOTO 2016 • Event Logging • Valtteri Wallden


bene Ciao a tutti benvenuti al
il mio primo nome è Walter de
Weldon I lavoro sui sistemi di back-end
oltre al vero chiamante non sono tranquillo
certo, quanto è probabile che parlino velocemente
essere finita molto velocemente e il tuo desiderio
a ricordare nulla, ma cercherò di
ti do almeno un paio di take away che sono
parlerò della registrazione degli eventi
quindi cosa intendo quando uso quel termine è
il processo di raccolta dell’elaborazione
memorizzazione delle informazioni in corso
i tuoi sistemi, sia sul tuo cellulare
clienti se è sul web nel tuo
servizi di piattaforma in terze parti tutti
della raccolta di dati e archiviazione dei dati
che facciamo e c’è abbastanza triste
che in realtà non esiste un vero buon nome
per questo alcune persone parlano di dati
l’integrazione era una cosa chiamata
ETL, ma ancora non sembra essere un
bene come termine a livello di settore per questo
mi piace la cosa molto importante che è presente
che praticamente ogni azienda in ogni
impilando guida conosci tutto il
benefici di cui le persone parlano sempre
quando si tratta di big data quando arriva
a voi conoscono i vantaggi di avere
analisi e così via tutto ciò che è
previsto per essere in grado di raccogliere il
archiviazione affidabile dei dati in modo affidabile
parlare è è come un piccolo Marshall
Marshall ti ricorda prima il
importanza di questo e anche di condivisione a
pochi insegnamenti dal vero colore quando noi
in pratica ha ridimensionato il nostro sistema
raccoglie e memorizza questo tipo di
informazioni prima di immergermi in quello
solo poche parole sul vero colore così
siamo consapevoli di avvio basato proprio qui in
Stoccolma trovati nel 2009 abbiamo anche
uffici in India a San Francisco siamo
attualmente appena timido di timido di 90
dipendenti sono sicuro che lo sai
familiare a molte persone in questo
room what we do Ho alcuni casi d’uso
qui, ma sono fondamentalmente basati su
stessa idea che è che se hai un
numero di telefono e devi scoprirlo
quale persona che contatta quello
il numero di telefono è associato a quello
questa è la base di tutto ciò che facciamo
come il primo esempio a sinistra
ID chiamante si riceve una telefonata il
persona che ti sta chiamando al telefono
il numero non è nella tua rubrica vera
il colore fa una ricerca nel nostro back-end
e scopre chi è quella persona chi
quella compagnia ti sta chiamando um
allo stesso modo abbiamo un dialer
esperienza nel vero colore così
quando hai un dialer che non è solo
dipende dai numeri di telefono nel tuo
Rubrica ma può effettivamente andare a
contagioso in realtà scoprire qualsiasi persona
che hai chiamato o ti sei chiamato o
che potenzialmente vuoi chiamare , possiamo
fare un sacco di belle funzionalità disponibili
anche lì e, infine, il
bloccare lo spam e le chiamate indesiderate che manteniamo
un sacco di record e sui colori dello spam
e abbiamo anche una grande comunità di
persone che segnalano lo spam che ci aiuta a
identificare le chiamate che le persone sono probabilmente
non vorrai ricevere in termini
di raggiungere siamo estremamente cross-platform
su tutti i maggiori negozi, naturalmente e
anche localizzato in oltre 40 lingue
che è stato davvero bello per noi come
siamo entrati in nuovi mercati in numeri
erano circa 200 milioni di utenti in tutto il mondo
circa la metà di quelli sono in India e io
chiamate spam citate rileviamo e blocciamo
circa 400 milioni di chiamate spam al mese
che è, che è il numero siamo estremamente
orgoglioso di considerare quanto invadente e
la maggior parte delle persone odiose considera che io sia spam
chiama ok passando alla registrazione degli eventi
senza dati affidabili e completi
flusso un cluster Hadoop è poco più
di un molto costoso e difficile da
assemblare il riscaldatore di spazio così questo è
fondamentalmente l’ idea dietro quando io quello che io
voglio impararti oggi che è
che se non si dispone di un insieme affidabile di
componenti che raccolgono dati da
il tuo sistema e e quindi lo memorizza
fondamentalmente tutto il resto su cui hai costruito
in testa a tutte le fantasiose analisi dei dati
utensili
tutta la roba sui big data
compromesso quindi si tratta di una registrazione degli eventi
o l’integrazione dei dati è estremamente
parte importante della pila ma è
spesso non discusso affatto così il
l’idea è fondamentalmente raccogliere e archiviare
tutto ciò che fa ciò che è nel tuo
applicazione quali transazioni stanno andando
nel tuo back-end perché sono quelle cose
succede se fai un test / b tutto
sta succedendo nel tuo sistema tu
probabilmente voglio tracciare e anche questo
di solito scala in più direzioni così
hai un sacco di cose che vuoi
tenere traccia perché la tua app è in scala
in termini di utenti stai aggiungendo di più
caratteristiche e complessità tutto il tempo come
la tua app matura maturando nuove cose
è necessario tenere traccia in modo da avere un po ‘di
fattori moltiplicativi che portano a a
situazione in cui hai bisogno di
traccia più e più cose con più grandi
e su larga scala e, in definitiva, il
il punto è derivare un bene
forza decisionale per un’azienda come
noi che conosci meno di 90 dipendenti
non abbiamo davvero le risorse per
non progettare questo bene e nemmeno possiamo
permettersi di avere un sistema che non lo fa
quello non è affidabile che non lo è
scalabile perché ciò porterà a
ci sono due possibili pericolosi qui
è che si perdono i dati che significa che è
i dati sono completamente inaffidabili e
stai praticamente volando al buio e
le altre possibilità che non puoi seguire
tutte le cose che vorresti
traccia che devi dare la priorità o che hai
per tenere a bada molte cose
queste cose è come l’integrazione dei dati
qualcosa che non è sempre naturale
scala allo stesso modo di certo
le applicazioni di servizio fanno dove puoi
solo generare più note per gestire il
traffico così a tal fine voglio parlare
circa due cose che abbiamo fatto quando abbiamo
ridisegnato il registro degli eventi che erano
super utile per noi tipo di due idee chiave
che posso essere consegnato in così poco tempo
discorso prima di cui voglio parlare
gli schemi così gli schemi sono fondamentalmente come e
dove definisci e come condividi
che tipo di cose stai andando
traccia nel sistema ora necessario
riprogettazione da parte nostra perché un anno fa
abbiamo avuto una situazione in cui le cose ci sono
voleva tracciare erano definiti in tutto
il sistema erano definiti nella fonte
codice nei nostri client mobili nel nostro
backends a volte anche in posti in
quadro di registrazione che, naturalmente, non
crea solo un sovraccarico perché è necessario un
molta comunicazione da persona a persona a
sincronizzare quelle cose ma anche di
Certo che finisci con la comunicazione
errori solo errori di versione dei bug
il che significa che sei il log store
dati errati o che potresti non archiviare
qualsiasi cosa di quei mismatch sono
abbastanza brutto così chiaramente che porta a
sistema sostanzialmente meno affidabile quindi
quello che abbiamo deciso di fare con gli schemi è quello di
utilizzare un repository centralizzato per loro così
l’ idea è che ce n’è solo uno
versione di uno schema e che ottiene
definito una volta ed è immutabile per tutti
abbiamo usato la tecnologia per l’ eternità
qualcosa chiamato Apache su cui è
abbastanza noto in realtà più bene
noto per le sue proprietà di serializzazione
che utilizziamo anche il binario di Avro
il formato è molto bello ma più
importante per noi abbiamo voluto questo
repository di schemi centralizzati dove noi
definirei schemi immutabili una volta e
allora li useremmo ovunque così
il flusso è diventato quello di digitare gli schemi degli eventi
in averro la lingua principale tu
pubblicare che generi la biblioteca
oggetti che poi possono essere usati attraverso
il tuo stack attraverso la programmazione
lingue attraverso tecnologie in tutto il
posti diversi e quindi elimini
versione errata si elimina
problemi di comunicazione tra
squadre e così via in modo da sbarazzarsi di a
molti errori di cui non hai veramente bisogno
per spostarsi rapidamente in avanti
pensando ai dati in arrivo il
eventi in arrivo come flussi e come questo
ci ha aiutato a rendere il nostro sistema sostanzialmente
più affidabile quindi prima che avessimo un sistema
di componenti altamente coppia
questo è il vecchio problema in cui si ha a
mittente veloce e ricevitore lento e uno
di loro viene sopraffatto e perché
non c’è modo di propagare le informazioni
sugli errori upstream ciò che finisce
succede è un componente va giù
tutto smette di funzionare male
si propagano estremamente facilmente che hai giù
tempo hai perso informazioni se tu
invece modellare i dati dell’evento come flussi
quale cosa hai un sistema in cui tu
può propagare i fallimenti che abbiamo usato la nostra maledizione
flussi che è un’implementazione di
l’interfaccia dei flussi reattivi
come esposto nel manifesto reattivo a
raggiungere questo e così invece di avere
componenti singolari dove questo solo sa
tipo di propri input e output noi
avere un sistema in cui ogni componente
è consapevole che fanno parte di un flusso
e sono consapevoli delle strategie che
possono usare per propagare i fallimenti
a monte possono buffer che possono cadere
alcuni tipi di cose che possono prendere
nuove risorse al fine di gestire
quel carico e così via e questo è stato un
enorme vantaggio e in realtà abbiamo visto questo
in produzione ci salvano dalla perdita di dati
più volte quindi questi sono i due
idee che voglio condividere con voi oggi per
per la memorizzazione di questi tipi di eventi
definizione e carico dello schema centralizzato
componenti consapevoli che sono fuori dal tempo grazie
tu molto
tu

Please follow and like us: