Press "Enter" to skip to content

GOTO 2012 • Running Netflix on Cassandra in the Cloud • Adrian Cockcroft


così ho intenzione di parlare di corsa
Netflix su Cassandra nel cloud ma
Ho intenzione di iniziare con solo
menzionare qualcosa per la gente del posto
che è che Netflix ne ha annunciati alcuni
mesi fa che stiamo arrivando al
Paesi nordici in q4 ed è ottobre
ora quindi è q4 quindi ad un certo punto nel
sei un futuro relativamente breve
in grado di ottenere Netflix e adesso se tu
vai li vogliono solo raccogliere il tuo
indirizzo e-mail, ma io non voglio
evidenzia questo piccolo punto piuttosto bello
qui quindi se si guarda verso il basso qui
afferma EU West 1 DF 6 9 b e0 9c DK
questa è un’istanza Amazon di istanza
correre in Irlanda e non è così
capito che siamo in Danimarca così nessuno
è solo pensato che lo metterei in evidenza
e spero che ci siano persone locali che
iscriverò per questa cosa così ieri
Ho tenuto un discorso e ho avuto un sacco di problemi
delle cose su Netflix e cloud e
qualunque cosa e ho supposto che alcuni di voi
sarebbe stato in quella conversazione pure così
Non ho intenzione di andare oltre che molto in grande
la discussione di dettaglio era il video sei in grado di
trovare le diapositive comunque ho effettivamente un
t-shirt che dice blahblah cloud blur on
ma oggi ho deciso di essere caotico
scimmia un sacco e un sacco di diapositive di
slideshare.net slash Netflix questo è uno
delle diapositive di ieri solo a
dare un po ‘di contesto per le persone
non erano qui ieri abbiamo oltre il
gli ultimi tre anni hanno praticamente spostato tutto il
diversi pezzi di Netflix nel cloud
e tutte le scatole blu qui sono
fondamentalmente supportato da Cassandra sai
tutti quelli ci sono come quelli viola
questo è il mio seguito che uno ha nel
processo di trasferimento a Cassandra e
in realtà c’è un po ‘di contenuti
gestione e alcune delle cose su quello
la prima colonna dovrebbe effettivamente essere
Anche Cassandra, oggi, vado
per parlare di Cassandra in esecuzione su AWS
che per noi è altamente disponibile e
modello di distribuzione durevole che sembra
qualcosa come questo
quello che abbiamo qui è tutto il cliente
servizi che vogliono cercare questo
particolare dato che tutti
effettuare chiamate di riposo a un livello di servizio con a
conosci l’interfaccia di riposo standard quella
quindi fa è l’ unica cosa che parla
al nostro ammasso di Cassandra credo quello
che ho afferrato qui è che penso ci sia
24 note qui e probabilmente circa 50 qui
e poi alcuni di questi sono come
combattere alcune di queste scatole del sangue hanno 500
macchine quindi questi sono servizi distinti
macchine non distinte, così abbiamo
300 diversi servizi e alcuni di loro
sono supportati questo servizio di riposo di livello intermedio
si sincronizza anche con il data center
per postare cose lì per vari
ragioni per cui stai facendo la transizione
fuori dal centro dati il ​​flusso di dati
come se il data center fosse il tuo padrone
puoi fondamentalmente servire errori di cache o
ricerca nel data center e pull
è tornato per il cloud quando siamo ora
avere la copia principale di tutti i nostri dati
in esecuzione nel cloud in esecuzione in questo
Cluster di Cassandra ma pubblichiamo ancora
roba al centro dati per alcuni
sistemi che non sono critici per il
servizio di streaming ma che noi ancora
bisogno e questo diagramma è stato fatto usando l’app
dinamica che vedi apparire
ogni tanto è una Cassandra
il servizio la pensa come un
la vista materializzata sarebbe per Oracle o
il mio sequel quindi questo è per esempio lo è
il servizio di sottoscrizione è l’unica cosa che io
può fare per il servizio è fare domande
circa l’abbonato posso darti un
biscotto o qualcosa e me lo dirà
quale abbonato è quel tipo di
cosa non fa nient’altro tu
non posso unirlo, c’è solo un
servizio a singolo scopo e una squadra possiede
quel servizio e un ingegnere lo hanno costruito
servizio e se mai diventa rosso e ha
cattivi tempi di risposta sappiamo esattamente chi
chiamare e questo ammasso di Cassandra
serve solo a quello scopo giusto così
abbiamo diviso tutto, quindi cosa
ciò significa che nella produzione noi
in realtà ne hai conosciuti molti
le cose ci sono più di 50 distinte
I cluster di Cassandra ne aggiungono altri
di 500 nodi Cassandra diversi
varie dimensioni il cluster più piccolo era
Facciamo un sei nodi il più grande che abbiamo è
72 il nostro volume di backup giornaliero e questo è
i backup compressi sono circa 30 terabyte
quindi questo è ciò su cui stiamo facendo il backup
base giornaliera e uno di questi cluster è
facendo oltre 250.000 scritture al secondo e
in realtà è soprattutto la registrazione dei dati
avere un bel numero di cluster ad alto traffico
e abbiamo un altro cluster che ha
circa 10 terabyte di dati in esso così noi
avere un cluster molto grande uno molto alto
cluster di throughput e un sacco di cose
da qualche parte in mezzo, quindi non è gentile
di dove siamo finiti, quindi abbiamo preso un
un po ‘per il resto dell’architettura
qui otteniamo alta disponibilità memorizzando
tre copie dei dati sul locale
istanze su Cassandra usiamo il locale
dischi interni che sono effimeri
vai via se la macchina muore okay così noi
avere tre copie di quelle e quelle
tre copie sono in dati diversi
centri in diversi edifici di fatto
le scritture vanno su ram e poi agisce
indietro e dice che va bene che hai finito
puoi scrivere velocemente dicendo let
io so quando uno dei clienti quando uno
dei nodi di Cassandra ti ha completato
può ottenere una scrittura duratura facendo un due
su tre quorum e due su due
di tre quorum leggi se vuoi
da leggere dopo la coerenza di scrittura
queste zone di disponibilità sono separate
costruendo un potere separato, non lo sono
certo quanto distanti, ma ce ne sono alcuni
miglia a parte e sono circa a
millisecondo che significa che se
vuoi ricevere una richiesta veloce che chiami
parli con il nodo Cassandra
lo stesso edificio di te perché il
i clienti sono anche diffusi in questi
tre zone a destra quindi pensate a tre
diversi edifici se sei in uno
costruendo c’è un ammasso di Cassandra
nodo nel tuo edificio che ha una copia di
i dati se si vuole coerenza voi
devo parlare con uno degli altri
edifici anche per assicurarsi che tutti
ha i dati giusti quindi triplichiamo
replichiamo prendiamo la nostra piccola mappa di tutto
i servizi che parlano tra loro e
ne abbiamo tre copie in tre
edificio diverso
e poi abbiamo il back-end di Cassandra
repliche e Cassandra sta facendo la parte
a parte la replica che fondamentalmente mantiene
tutto in sincrono quindi se ne scrivi qualcuno
i dati vengono copiati lateralmente e poi
il servizio di bilanciamento del carico ha inviato il traffico in
il massimo se stiamo facendo manutenzione
Cassandra che facciamo per l’aggiornamento
la loro versione di Cassandra o di fare
riparazioni o o compattazioni a volte
dipende da cosa parleremo dopo
sul perché lo facciamo , prendiamo un
particolare istanza di Cassandra su
servizio ora significa che ho solo io
due copie di quel particolare dato I
significa che potrebbe esserci questa parte del
dati per questo tier Cassandra
l’istanza esce fuori servizio ciò che faccio
è smettere di replicare ad esso e poi a tutti
le macchine che sono in questo plus in
questa zona di disponibilità parla con Cassandra
nelle altre zone in modo che sia normale
operazione lo stiamo facendo continuamente
abbiamo lavori Jenkins che continuamente
camminare intorno ai nostri grappoli di Cassandra
eseguire riparazioni e compattazioni e
facendo aggiornamenti software per il nuovo
versioni di Cassandra
così che rotola continuamente così
singoli nodi che andrò a guardare
come sono Opera House a configurarli così
abbiamo una base ami è attualmente CentOS
ci stiamo gradualmente muovendo verso Ubuntu
ma stiamo spendendo la maggior parte di questo
anno facendo che non ci siamo ancora arrivati
è un lavoro con priorità piuttosto bassa perché
CentOS funziona fondamentalmente
eseguiamo mix di Java 6 e Java 7
Il cluster di Cassandra è per lo più eseguito 7 ora
all’interno della JVM principale abbiamo Cassandra
1.09 al momento ci stiamo solo spostando verso 1.1
c’è un agente app che lo monitora
fa strumenti con i bytecode java qui
e abbiamo un po ‘di spazzatura e discarica di filo
registrando il lato qui all’esterno del
macchina virtuale java principale che abbiamo
monitoraggio del registro rotazione di un agente macchina
questo ci dice quanto sia occupato Linux
cose del genere e abbiamo questo
il servizio qui chiamato Prien che è il nostro
Processo di gestione Cassandra
è in esecuzione in un server tomcat che
è il nostro standard per la nostra piattaforma ogni
esempio abbiamo praticamente quasi tutti
l’istanza esegue normalmente un server tomcat
distribuiamo il codice in Tomcat e quello
sarebbe la JVM principale sulla macchina
consumando la maggior parte della RAM per il nostro
I nodi di Cassandra sono un po ‘ diversi
perché eseguiamo Cassandra in un separato
JVM che consuma la maggior parte dell’acqua RAM
beh, in realtà diciamo che questo è un 64
68 gigabyte machine eseguiamo Cassandra in
circa sei o sette gigabyte di heap priam
e queste altre cose sono probabilmente
usando un gigabyte e il resto della memoria
è la cache del file system, quindi è così
grosso modo come lo configuriamo così è Priam
disponibile su github questo è il
salsa segreta o che non era segreta
Indovina la salsa pubblica che ora abbiamo per
facendo la configurazione di ordine di tocco zero di
il nostro cluster di Cassandra, quindi per me
Fornire un cluster di Cassandra solo
devo dire per favore fai 24 nodi quelli
24 nodi si auto organizzeranno in a
cluster di ventiquattro nodi di Cassandra e
da parte mia decidere di farlo per avere un
cluster in esecuzione su cui posso scrivere
ci vogliono circa cinque minuti e cinque minuti
ok e tre di quei minuti è
Amazon creando le istanze e
avviarli e poi c’è come a
un minuto o due di priam che iniziano il tuo
Tomcat e poi deciderà
cosa fare configurare le cose e iniziare
la Cassandra si annoda e allora
quello che sta facendo è capire qual è il
Il file di configurazione di Cassandra dovrebbe avere
in loro capisco che questo è un muto
nuovo nodo di Cassandra in cui sono appena entrato
esistenza sto entrando in un esistente
cluster dovrei ripararlo
cluster sai perché ripeto
sostituire un nodo rotto che è un caso
se sono un cluster nuovo di zecca ho impostato come
un sistema vuoto o anche io in realtà
fai un ripristino dal backup e tu semplicemente
ditelo a che ora vuoi ripristinare
da e tira tutti i dati fino a quello
punto nel tempo, quindi sta facendo un token
assegnazione assegnazione Okin e
Ne ho parlato così l’altro
cosa che Priam fa è continuamente
archivia in s3 tutti i dati che sono
scritto in Cassandra è registrato su disco come
singoli file immutabili di grandi dimensioni ogni volta
uno di quei file è scritto che copiamo
quei dati in s3 e li comprimiamo come
va e poi possiamo ripristinarlo
da s3 l’altro finalmente puoi
anche crescere e rimpicciolire l’anello che puoi
dillo a doppio o metà attualmente e
Ne parlerò di più in seguito e
quelle sono tutte funzioni che sono
implementato con pre e stampa ha anche
alcune interfacce di monitoraggio pensano a questo
come un’interfaccia utente basata sul resto a
Cassandra su base per nodo abbiamo a
libreria client che abbiamo anche scritto
è anche open source chiamato Aston act
tutta questa roba è su github questo è un
miglioramento del precedente Java
libreria client che si chiama Hector
ovviamente siamo tutti molto familiari
La mitologia greca è parte ora del
domande di intervista a Netflix così
Cassandra era una donna greca in greco
mitologia Hector era il suo fidanzato e un
ascia di pietra era il figlio di Ettore, ma non
in realtà il figlio di Cassandra penso di no
certo e più tardi ne incontreremo alcuni
più greco senza caratteri greci quindi a
l’ascia di pietra dà molto meglio
astrazione ed è per il protocollo RPC
la manipolazione e la gestione del filo ha a
bella API di stile fluente Ti mostrerò un
esempio nella prossima diapositiva ha molto
meglio riprovare e retrocedere dalla semantica e
è anche token consapevole e spiega cosa
questo significa che con l’ascia incendiaria arriva un mucchio
di ricette utili perché i nostri sviluppatori
continua a fare cose e continua a chiedere il
stesse domande quindi abbiamo costruito standard
ricette per cose come distribuite
scalpello che puoi fare con lo spettatore
ma abbiamo capito come farlo senza
unicità del rowlock multi data center
multi o vincoli e poi questo grande
archiviazione di file se si desidera memorizzare come
10 gigabyte pezzi in Cassandra che
sì sembra una cosa ragionevole da fare
Immagino che il problema sia
che se fallisce verso la fine della scrittura
un pezzo da 10 gigabyte che devi scrivere
di nuovo tutto, quindi quello che abbiamo è
una cosa chunked e filettata che
rompe la tua grande scrittura in molti
le piccole scritture e possono essere tutte
singolarmente ritentato e questo è un
caratteristica standard degli atti Aston
client questo è ciò che un esempio di query
sembra che non stiamo usando alcun sequel
come il linguaggio in cui sei seduto lì
tagliare e incollare le corde insieme a
crea una query semplicemente la creiamo
puoi vedere direttamente che è fluente
cosa di stile ding-ding-ding
quindi questo fondamentalmente dice che dai a te topi
sapere qui è la mia domanda sta preparando il
la query ottiene la chiave che voglio impaginare
lo metti su tutto e poi lo fai solo a scottare
ottiene il risultato zip attraverso sei
fatto bene è un bel lavoro facile livello
API quindi diamo un’occhiata a ciò che Trista
I flussi di scrittura di Cassandra sembrano come noi
hanno i clienti nel mezzo che scelgono
un croissant questo è un sei nodo
Cluster Cassandra con tripla
replica così ho avuto modo di leggere a voce
leggere i nodi nella Zona B – nodi gialli in
zona a in nodi blu nella zona C okay
e i clienti da qualsiasi zona
sono nel scegliere un nodo a caso inviarlo
una richiesta c’è una possibilità abbastanza piccola
che la macchina fosse lì in effetti
caso ci sia una probabilità del 50% che quel nodo
in realtà contiene i dati che hai richiesto
ma il cliente non ha idea di dove sia
il cluster aumenta la probabilità
si colpisce il nodo giusto riduce quel nodo
agisce come un coordinatore
se i dati vivono parla all’altro
tre nodi scrive i dati su tutti
loro e puoi vedere la sequenza che ho
tipo di attraversato qui la chiave
la cosa è che ottieni un’eco presto come
sei in memoria sugli altri nodi e
circa dieci secondi dopo si arrossisce
su disco e si potrebbe dire che è così
non completamente resistente ma ne ho tre
diversi edifici in cui ho dati
memoria e se perdo un edificio lo sono ancora
hanno altre due copie in memoria
abbastanza difficile da eliminare tre edifici
entro un periodo di dieci secondi senza
avere un problema che è abbastanza grande che
non ti interessa più dove il
Cassandra è in esecuzione o non sai se
fai cadere una bomba atomica sul lato del
NOI
l’ultima cosa a cui tieni è se
Netflix è ancora in esecuzione e quindi a
l’ ascia di poppa fa che il cliente se ne vada
in pulls descrive un anello ogni ora e
di nuovo e sa qual è la gamma di token
per ogni cliente R e cosa può fare
dite bene che questi dati che conosco sono in rosso
nodo qui e non è in questo nodo rosso
qui quindi ho intenzione di andare direttamente a quello
uno e poi quello coordinerà anche
le altre due copie ma che cosa significa
è che se stai cercando di fare una lettura
uno o uno di scrittura che è il più veloce
tipo di richiesta in questo caso in realtà
ci sono due hop per arrivare ai miei dati
due hop di rete che conosci ogni
c’è tempo per passare attraverso la rete
ritardo quindi significa che c’è di meno
latenza e c’è meno che può andare
sbagli ogni volta che vai attraverso il
rete potrebbe anche fallire così avendo
una singola operazione di rete riduciamo la nostra
latenza quindi tutto ciò ci dà un
miglioramento rispetto al loro precedente Hector
libreria che ci dà più resilienza
e latenza più bassa ora gestiamo Cassandra
in modalità multi regione e in quel caso noi
avere un cluster in Europa e un cluster
negli Stati Uniti, quindi questo è in esecuzione su Amazon
L’Irlanda è in corso in Amazzonia orientale
costa quindi ecco un cliente americano che scrive alcuni
dati questo è il diagramma precedente ma
il coordinatore questa volta sa che ce l’ha
un sacco di amici in Europa, quindi invia
una copia dei dati in Europa
il coordinatore in Europa fa l’altro
due copie e poi quei due nodi agiscono
torna a questo coordinatore e finalmente tu
ottenere un ACK la macchia di leopardo il combattere l’ACK
accade presto per questi clienti è
succede non appena è coerente
localmente il coordinatore remoto detiene un
copia dei dati fino a quando non viene ascoltata
il cluster remoto, quindi questa copia è
non ritardare la scrittura ma sta facendo
resiliente ai tempi morti quindi lo farà
dice chiamato handoff accennato e questo
fondamentalmente si siede lì e dice fino a quando non ho
Ho sentito che hai i dati che sto andando
per mantenere una copia di esso e una volta che ho sentito
da tutti hanno capito che posso lasciar perdere
che quindi quello che significa è il sovraccarico
di avere un altro cluster remoto è un
un po ‘di thread di memoria extra
gestione e traffico qui ma non c’è
sovraccarico di latenza al cluster locale
e questo si applica simmetrico
quindi se ti iscrivi in Europa in pochi
settimane ogni volta che è quello che abbiamo
Supporto per la Danimarca, inserirai i tuoi dati
ti registreremo come cliente locale qui
i tuoi dati torneranno negli Stati Uniti
e poi se vi capita di visitare noi
un secondo dopo, ad esempio, perché tu
avere un aereo molto veloce o qualcosa del genere
troverai il tuo cliente negli Stati Uniti noi
riconoscerti il tuo piede a tutti
ogni membro di Netflix è globale
membro di Netflix non importa
dove ti iscrivi ottieni contenuti locali
per qualsiasi contenuto abbiamo avuto
concesso in licenza negli Stati Uniti o nel Regno Unito o o
qualunque cosa dipenda dal paese in cui ti trovi
ma è un modello di appartenenza globale quando
stavamo facendo il boot con questo abbiamo avuto gli Stati Uniti
regione che corre con Cassandra e con
nessun tempo di inattività abbiamo impostato il
Cluster europeo e collegato tutto
insieme quindi per arrivarci, in realtà
ha preso i backup e ha copiato i backup in
L’Europa e ha fatto un restauro qui così
era per lo più aggiornato ma un po ‘
correndo dietro allora abbiamo fatto un globale
riparazione per ripristinare tutto in sincronia
quello che voleva dire era che eravamo tutto
più veloce e ha un po ‘meno traffico
negli Stati Uniti per andare da un backup ma noi
potrebbe se si tratta di un piccolo cluster con a
una piccola quantità di dati in essa ci limitiamo a fare un
sincronizzare questa particolare cosa era per
cluster che avevano un sacco di dati noi
effettivamente utilizzare il backup per provare e solo
Accelerare la cosa quindi parliamo un po ‘
di più sui backup oh mi piace il mio
analogia qui a proposito
è come prendere un 737 su a
volo interno sai e mentre è
volando su alcuni altri motori a
più grandi serbatoi di carburante e volando a
L’Europa va bene senza atterrare e quello
funzionato abbastanza bene che abbiamo fatto questo
perché abbiamo circa dieci o quindici anni
cluster che vengono creati globalmente
eseguire in una modalità globale va bene per i backup noi
vediamo che questi sono tutti i nodi
quello che fanno è che loro sono
configurato con un secchio Amazon s3 e
ogni volta che scrivono sul disco scrivono
un file di tabella SS immutabile era giusto
descritta nel tour precedente e che
La tabella SS viene compressa usando snappy
compressione che è piacevole basso overhead
metodo ti dà ragione su di
compressione e viene copiata in s3
ciò accade in modo incrementale come tutto
scrive e facciamo una discarica piena quotidiana dove
eliminiamo la x incrementale ‘
in seguito, ma abbiamo un pieno
istantanea in modo da avere una caduta giornaliera e un
incrementale ogni volta che scrivi un SS
tavolo una volta al giorno ne prendiamo anche una copia
tutto quello che c’è e copialo
l’altro lato del paese in a
regione diversa con una Amazon diversa
conto e noi cifrare e tutto il resto
tipo di cose perché ti rendi paranoico
e questa è la protezione aziendale
fondamentalmente questa è la copia principale di
Netflix questo database clienti non lo faccio
voglio perderlo
okay e probabilmente non voglio che tu lo faccia
rubarlo
quindi abbiamo molti di questi cluster che siamo
sta per essere aperto, ma presto lo farò
abbiamo costruito un Cassandra Explorer e tu
può vedere questo è un vecchio elenco di alcuni di
i grappoli che abbiamo abbiamo appena
un numero infinito di loro così perché noi
avere così tanti cluster perché ce l’abbiamo fatta
veramente facile per gli sviluppatori in pochi
minuti per creare il proprio cluster e
incoraggiamo gli sviluppatori ad avere il loro
proprio cluster a cui accedono
non entra in nessun altro a nessuno
altrimenti colpendo non c’è nessun altro invio
traffico ad esso in modo che sia la separazione di
le preoccupazioni rendono tutto molto
identificabile quindi ciò che bene il
problema è che si finisce con troppo
molti cluster da monitorare e ciò che noi
costruito era la nostra attrezzatura che ti dà
una lista di gruppi che puoi entrare e tu
può guardare gli schemi e gli spazi chiave
questa è una sandbox con un mucchio di test
roba in esso in esecuzione nel nostro account di prova
quindi i nostri esploratori sono basati su a
quadro è un penso al lato client
è principalmente basato su groovy Grails
back-end e penso che sia d3 sia il
roba appiccicosa di front-end quindi c’è un mucchio
delle tecnologie di base di Explorer che abbiamo
usato in molti casi per costruire questi tipi
di cruscotti per la gestione di cose e
tale quadro dovrebbe essere fuori nella prossima
pochi mesi quindi un altro problema che abbiamo è
è perché abbiamo così tanti Cassandra
i cluster sono ETL normalmente vai al tuo
grande Oracle uno mio sequel back-end che è
hai tutti i tuoi tavoli e fai schifo
tutto fuori e tu fai il tuo
query di integrazione e poi sputi
tutto in affari
intelligenza, ma il problema è che abbiamo
ritenuto normalizzato il nostro set di dati attraverso a
enorme numero di cluster e non c’è
posto dove puoi fare un join e in
alcuni casi registravano direttamente i dati
per la business intelligence ma in alcuni
casi vogliono solo tutto come
vogliono l’intero database di appartenenza
per reticolare con tutto il resto
più roba del flusso di eventi che prenderanno come
un registro ma a volte alcune delle cose
hanno bisogno è il set completo così noi
costruito un formattatore di input Hadoop
legge i tavoli SS Cassandra non c’è
Cassandra attuale funziona ma consuma
i backup e questo è chiamato giustizia
la giustizia nella mitologia greca è la persona
quello ha ucciso Cassandra perché c’è
nessuna vera Cassandra qui un ammasso morto
la cam è importata aggiustandola e noi
fondamentalmente alla rinfusa abbiamo un continuo
esecuzione di un singolo lavoro Hadoop a cursore singolo
Cluster di Hadoop che fa schifo
quantità di Cassandra fa il join e
l’ETL e tutta quella roba e poi
lo infila nel nostro back-end
Dati di Tara abbiamo un po ‘di dati di Tara
non sta ottenendo ogni più grande
lo circondiamo sempre di più
Hadoop e la copia principale del nostro
il software di business intelligence è ora
spostandomi da quella sono i dati di Tara
versione che non ha più spazio per contenere
per essere in Hadoop e basta
in esecuzione e Hadoop è in esecuzione come
Amazon EMR nel cloud così sono stato
parlando dell’interfaccia utente per
eseguendo questo e ti mostrerò che cosa
gli screenshot sembrano più tardi ma i nostri
Lo strumento di gestione del cloud basato sul web è
chiamato Asgard
ci siamo stanchi della squadra
quello che stava facendo nomi di dio greci no
c’è una squadra diversa che hanno deciso di fare
fai degli dei norvegesi per l’inferno , così noi
avere Asgard che è dove gli dei che
gestire le nuvole dal vivo, penso qualcosa
come quello, probabilmente c’è qualcuno
probabilmente molto meglio esperti di norvegesi
la mitologia qui di me
groovy Grails basato su JVM supporta Amazon
regioni è molto specifico per l’AWS
set di funzionalità va molto in profondità ma il
la cosa fondamentale che abbiamo costruito era nascondere l’AWS
credenziali per avere una copia di asgard
per account e quindi abbiamo un dieci
al portale fondamentalmente per la gestione del test
e produzione e cose così
i progetti che abbiamo quelli rossi
qui ci sono cose che sono attualmente in corso
github quello blu questo è Cassandra
che è già là fuori ma abbiamo messo
molti di noi hanno controllato molto codice
in Cassandra appositamente per la gestione
siamo uno dei principali contributori di Cassandra
fondamentalmente in particolare per il supporto di ec2
è solo questo è attualmente un post sul blog
che sappiamo che non abbiamo avuto nessuno
in realtà chiedici di aprirlo ancora
e poi abbiamo questi due che hanno
stato descritto nei post del blog ma siamo
ora stiamo pianificando di rilasciarli come aperti
cose sorgente su GitHub interruttore
è lo sai rilasciare lo schema se
hai se hai ascoltato
Michael guardie colloqui e un sacco di
altri discorsi parlano di circuito
schema di breaker quindi questo è un Java
implementazione di ciò che saremo
rilasciando presto quindi fammi vedere il frame I
ho parlato di questi due di cui ho parlato
cache jmeter è un decimo di carico
suite che usiamo per il check-out
benchmark e test delle nuove versioni di
Cassandra Ti faccio vedere che ancora una volta un
un po ‘ più tardi useremo ooh keeper per
coordinamento distribuito così abbiamo
schemi di guardiano dello zoo che si chiama curatore
questo è probabilmente il progetto più popolare
abbiamo non ha niente a che fare con
nuvola se stai usando Zookeeper tu
probabilmente vorrebbe usare il curatore
l’espositore è come priam ma da mantenere
zookeeper in esecuzione nel cloud e
fare backup e cose del genere che ti permette di
vediamo che abbiamo una directory di servizio chiamata
Eureka che è anche internamente chiamata
il servizio di scoperta abbiamo una dinamica
servizio di proprietà che chiamiamo il nostro caius che
in realtà è una specie di geco
è una cosa lucertola che non ha niente
fare con mitologia greca anche se
sembra che dovrebbe tutto il ridimensionamento
sceneggiature e cose come Dio e il caos
scimmia Sto indossando la maglia ovviamente
ma questa cosa è una robustezza
verifica se si guarda al caos
codice scimmia sembra troppo complicato
per quello che fa la ragione è che è un
quadro così per supportare circa dieci
diverse varietà di scimmia che sono
tutto specializzato per diversi compiti e
i due che noi
lavorando su una scimmia latente e bidello
scimmia latenza scimmia non esce
uccidere cose che va in giro facendo
la latenza e l’errore di iniezione così invece
di uccidere un servizio causa il
servizio per restituire un errore arbitrario
codice o per ritardare la risposta ad alcuni
frequenza casuale che è stata estremamente
utile per trovare tutti i tipi di
bug interessanti
la scimmia bidello ripulisce inutilizzata
risorse nota che hai un
ordina il gruppo di scale che non è stato
toccato per una settimana o giù di lì e semplicemente maleducato
è fondamentalmente una specie di raccolta
cose che usano entrambi un database che
abbiamo internamente chiamato i punti di ingresso per
ragioni oscure pensano al collezionismo
tutto sul tuo tuo
infrastruttura che attraversi
Istanze Amazon che hai di nuovo a
descrivi l’istanza su tutto ciò che è
lì puoi enumerare tutto dentro
la tua infrastruttura questo significa che puoi
fai forti affermazioni sul tuo
infrastruttura che è molto
concetto interessante per sicurezza ma
non è davvero un argomento di questo discorso
i punti di ingresso sono dove registriamo quei dati
quindi i punti di entrata stanno camminando per descrivere
chiama contro tutte le entità AWS che è
anche parlando con Eureka e tirando il nostro
directory di servizio e tirando tutti i nostri
descrivere i dati e alcune altre cose e
si costruisce un sacco una visione completa del
mondo ma la cosa interessante è
non buttare via ricorda il
differenze quindi ora posso avere la visione di
quello che il mio ambiente amazzonico sembrava un
una settimana fa
e posso fare una differenza per ora e vedere
cosa è cambiato che è come il bidello
scimmia funziona è come sa che tu
non ha toccato questa cosa per una settimana
perché può vedere lo stato di esso
non è cambiato e possiamo fare interessante
cose ora perché abbiamo una visione in
la storia così di nuovo che il servizio sta arrivando
è fondamentalmente una grande pila di JSON
oggetti che vengono indicizzati in
modi interessanti
e tu conosci l’abbastanza ovvio
l’implementazione di questo è usare MongoDB
perché è una specie di cosa è MongoDB
quindi sai che è un grande JSON
integrazione fetta-e-dadi cosa
Explorer, come ho detto, ti ho mostrato
stiamo facendo stiamo ricostruendo tutti i nostri
interno
codice usando il succo come iniezione di dipendenza
quadro che uscirà presto
si chiama Governator come il nome di
la biblioteca è che è un po ‘ventosa
versione estesa di succo
Odino viene dagli stessi adolescenti che
ha fatto Asgard
come potresti essere in grado di indovinare quale è
facendo orchestrazione del flusso di lavoro c’è
registrazione latenza iniezione di bit e
pezzi qui oh le maniche della tavola calda questo è
parte del sistema di generazione quindi abbiamo a
panetteria che è il modo in cui costruiamo la nostra AM
occhi
Dinah schiavo è un modo per nuvolare
sei il sistema Jenkins che è seduto dentro
il nel vostro sistema di compilazione vostro continuo
sistema di costruzione di integrazione seduto nel
centro dati ma ogni tanto tu
Devo fare un grosso conto quindi ci vuole anche
lungo
quindi quello che fa schiavo Dinah è creare build
schiavi nella nuvola come parte di un amazzone
Estensione VPC del tuo data center a
gestire lo scoppio e poi scompaiono
di nuovo e tornare ai tuoi dati
tipo di baseline basato sul centro, quindi è così
fondamentalmente
okay , questa è la maggior parte dell’architettura
roba di cui non ne parlerò
benchmark e scalabilità qualche punto
circa un anno fa quasi un anno fa noi
abbiamo eseguito alcuni benchmark di scalabilità, così noi
ha preso la versione di Prius che abbiamo avuto a
il tempo in cui abbiamo preso la versione di
Cassandra che abbiamo avuto nel momento in cui siamo
il cluster più grande che stavamo facendo era
una sorta di 24 o 48 nodi eravamo solo
sparando fino a 48 nodi e ho detto bene te
sapere cosa succede quando scala e ottieni
un cluster Cassandra sempre più grande
e quanto lontano puoi prenderlo e ho detto
bene, continuiamo finché non diventiamo grandi
numero e ho deciso che un milione
scrive un secondo era un gran numero quindi noi
fatto e lo stack di dati è iniziato
pubblicità che potresti fare un milione
scrive al secondo nel peso intendo io
stava ricevendo annunci pop-up per il mio benchmark
è solo se fai clic sui dati
stack to site hai finito su
Il sito di blog di Netflix è stato bello
scopre che l’unità universale di
il marketing è un milione qualunque cosa tu sia
facendo scala così era un milione di
scrivi tu sai unità al secondo per
ora al giorno dove se dici che è un
miliardi di suoni
provando a provare troppo e se è solo
un migliaio non è impressionante, io
significa anche se è mille per
microsecondo e tu conosci un miliardo di euro
mese e un milione giusto così tu voglia
scegliere un milione e questo è un tu sai che io
Ho fatto quaranta otto novanta seicentoquaranta
quattro e poi ce l’abbiamo fatta
duecentoottantotto nodi questi
stavo gestendo abbastanza piccoli nodi perché
Stavo cercando la scalabilità che non volevo
avere che non stavo andando per verticale I
stava andando in orizzontale, quindi sì
potrebbe fare un milione di diritti al secondo
con molti meno nodi ma volevo
vedere era lineare e questa è carina
molto come una linea retta come vedrai
un grafico di scalabilità e ci siamo annoiati
questo punto e non lo sappiamo correttamente
sale qui da qualche parte proprio migliaia
dei nodi sembra plausibile il
i singoli nodi erano altrettanto occupati a
questo punto come lo erano a questo punto
l’overhead di aggiungere più capacità
sale questo è giusto per cento
la percentuale di scrittura ora è diversa
storia e, ma in particolare cassandra ha
è sempre stato bravo a scrivere che sta arrivando
meglio a legge che è solo questo è il
miglior modo di pensarci
questo benchmark è stato eseguito in circa un’ora
solo bisogno di 288 macchine per un’ora
costano poche centinaia di dollari hanno dato tutto
torna abbiamo finito proprio questa è la bellezza
di benchmarking nel cloud, quindi il prossimo
punto di riferimento che abbiamo fatto è stato più recente e
ci stiamo guardando da un po ‘
e sai dov’è il futuro dove
stiamo andando in termini di cloud e
stoccaggio e avremmo stravolto le cose di Amazon
armi per un po ‘ su dischi a stato solido
quindi su cosa abbiamo lavorato principalmente
ora sono queste macchine là m2 Forex
grandi hanno 68 gig di ram un concerto
rete si può fare forse 500 ops i
ci sono due dischi interni che puoi
può ottenere circa un centinaio di megabyte per
secondo sui dischi e tu sai che sono
non sono abbastanza costosi
ma ottieni una buona quantità di memoria
e una quantità ragionevole di questo è il
cpu quindi quello con cui sono usciti erano questi
Istanze basate su SSD in modo da ottenerne due
terabyte di costruito in SSD sono
strisce di SSD di piccole dimensioni più piccole
ha un po ‘più di potenza della CPU per il
stessa rete Ram 10 gig cento
mille diete e un gigabyte al secondo
su disco
quindi un gigabyte al secondo sulla rete
è di un gigabyte throughput equilibrato
al secondo server che puoi fare a
Centomila compenso e siamo a posto
dacci centinaia di quelli e ci sposteremo
tutto il nostro cluster di Cassandra a X così
era l’ idea generale quindi abbiamo pubblicato un
punto di riferimento abbiamo fatto un autista di prova del carico noi
aveva lo stesso servizio di applicazione di riposo
e questo è ciò che stiamo attualmente correndo
stiamo utilizzando memcache extra large di 36 m2
DS perché Cassandra non è sempre così
bravo a leggere performance e poi a noi
avere 48 M per Cassandra extra-large a
avere abbastanza larghezza di banda IO per gestire il
legge e scrive che questo sta gestendo il
segnalibri mentre tutti quelli che mai
guarda un film che ricorda dove sei tu
sono in quel film e questo è aggiornato
una volta al minuto quindi c’è una grande quantità
di traffico su questo leggi e scrivi cosa
ci siamo confrontati con era un molto
cluster più piccolo di nodi Cassandra con
nessun memcache in mezzo e lo stesso
servizio di colpire così questo è il
confronto che era approssimativamente
equivalente e dal momento che ce ne sono così tanti
meno di questi e non ne abbiamo bisogno
memcache serve per ottenere buone prestazioni di lettura
ha funzionato circa la metà del costo, quindi noi
attualmente ha circa un centinaio di SSD
istanze che Amazon ha finalmente dato
noi che possiamo mettere in produzione
sono piuttosto rari adesso c’è un
è un po ‘più facile per ottenere loro nel
Cluster europei, ma questo è stato
questo è il tipo di futuro questo è un
sistema che ha un eccesso di I / O
capacità ed è sempre stato così
nel cloud non avevi abbastanza I / O
capacità quindi c’è un sacco di cose
che non lo facciamo è una diapositiva che ho usato
esterday ma è uno dei miei preferiti
scivola a destra in particolare quando siamo
analisi comparativa ma alcuni di quella della
cose che facciamo e questo sta tornando
al vertice di Cassandra pochi mesi fa
Ho diretto un punto di riferimento dal vivo sul palco proprio come
come mostrare cosa vuol dire davvero correre
Cassandra, lo farò di nuovo
i risultati di ciò non lo farò
eseguilo dal vivo e questo è quello che effettivamente faccio
metti su Missus, sono venuto per iniziare questo
punto di riferimento e sai che Yolo significa te
solo vivere una volta che è successo una settimana
dopo un’altro
e questo è un evento che ha ridefinito il
significato della parola difficile per un
progetto di ingegneria ricordare ciò che
progetto è quello che è successo questa estate
Sembrava che tu sapessi che è difficile
sai che è stato un po ‘difficile da parte tua
Sappiamo, facciamo solo un camion
su Marte da un appartamento da una gru del cielo tu
so che è difficile quello che sto facendo non lo è
difficile che è tutto a destra
così è stato il mio ok sai se potevamo
se le persone se possono atterrare una gru del cielo
su Marte posso fare una demo dal vivo che è stata la mia
atteggiamento c’era un ragazzo del JPL nel
pubblico a cui è piaciuta quella diapositiva
era bello, quindi abbiamo un Jenkins
automazione abbiamo il codice J meter che
abbiamo messo in piedi un wrapper Jenkins
intorno ad esso
il traffico stava leggendo sto scrivendo
cento file di colonne abbiamo 25 milioni
tasti di fila che è una sorta di ruvida il nostro tipo
del benchmark delle dimensioni della base clienti che noleggiamo
per 10 minuti e poi il doppio
dimensione del cluster in modo 10 Voglio dire prendo
mi ci vogliono 5 minuti per creare questo
tentativo di cluster intent eseguendo il traffico
in esso per 10 minuti e poi dico
per raddoppiare le dimensioni e lo eseguo per
altri 10 minuti
avvolgere il tutto in circa 30 40
minuti e ho finito
quindi vediamo se riesco a superare questo
la prima cosa è Asgard prima di me
iniziare a correre è possibile tutto quello in
medio Ho un test di m2 su un test SSD
il m2 è il non SSD e io no
istanze e senza gruppi di scale di ordine e
Dennis ha organizzato questo per me, ecco il mio
Jenkins Devo creare script e io
controllato che questo è stato testato un paio di volte
per vedere se ha funzionato e costruito da Dennis
questa roba per me e l’ho debugata così
questo è il parametro della fattura quando colpisci
RUN si arriva a guardare a tutte queste cose io
non lo esamineremo in dettaglio questo è
fondamentalmente controllando quanti Jake come
molti Jamie due driver di cui abbiamo bisogno quindi è un
costruire un lavoro che crea un punto di riferimento e
crea i piloti JMeter e
allora è l’output del lavoro di costruzione
i grafici che mostrano cosa è successo
durante il benchmark giusto così l’output
della build è un mucchio di trame e il
le macchine non esistono più loro le hanno date
di nuovo così è appena finito
quindi dopo averlo eseguito un po ‘qui abbiamo
tre aSG uno per zona ne abbiamo 12
istanze ho due cluster di 12 nodi
questo è un altro dei nostri cassandra
monitorare le cose dell’esploratore è chiamato
perdita di calci che è greca per cerchi e
questi sono i 12 nodi in esecuzione
e poi mentre lo stavamo ridimensionando
potrebbe vedere i nodi apparire questa cosa
si stava aggiornando ogni pochi secondi e così via
stava mostrando i nuovi nodi che arrivavano così
quelli rossi sono quelli dove
Cassandra non è ancora in esecuzione ma lo è
ha dichiarato che è stato detto da Priam
praticamente preso un token ce n’è uno
sta per essere qui
è afferrato uno slot questo è
bootstrap tirando nei dati del
quelli verdi sono in servizio e c’è un
quando raccolgono o no
fondamentalmente diventa giallo, quindi puoi vedere se
hai troppa raccolta dei rifiuti
andando avanti un po ‘più tardi per questo
qualche ragione può finire un po ‘
prima stava arrivando questo e se
passi sopra qualcosa che puoi vedere come
molti dati ha su di esso e che altro è
succedendo ci sono un sacco di altre cose
così fuori da tutto questo discorso quando abbiamo dato
l’ultima volta tutti lo volevano
lo strumento risulta ok, quindi è un it’s
coming soon quindi questo è quello che ti è successo
so che è stato un discorso di un’ora era
dove ho cacciato le macchine e questo
è come erano occupati le macchine e tu
so che questa è la CPU questa è la rete
e questo è l’ occhio dell’occhio così puoi vedere
qui non potevamo davvero guidare il m22 4x
più di 500 operazioni su I ma gli SSD erano
fino a 3000 I al massimo, quindi questo è il
questo è il funzionamento iniziale del benchmark
il ridimensionamento automatico o ridimensionamento e
allora è stato questo che credo che Drive stia facendo
questo resyncs e le cose ok e questo è
l’output della build che è un intero
molti grafici questo è uno dei grafici
che mostra quante istanze ci sono
la disponibilità è cresciuta proprio così ho
quattro e finì alle otto che è
bene ed ecco la latenza di lettura e
giusto sì la latenza di lettura tra il
Due
quindi questo è in microsecondi, quindi questo è
mezzo millisecondo così puoi vederlo
la latenza di lettura per l’istanza SSD
rimase sotto un millisecondo nel complesso
il tempo in cui si è diffuso come settimana inviata
più traffico ad esso, ma è rimasto abbastanza
piatta la latenza di lettura per quello che usa
i dischi normali erano circa 50 millisecondi
al massimo e in fondo sai che lo era
felice finché non abbiamo provato a scalare gli ordini
una cosa piuttosto brutta da fare per ordinare
il cluster scalare di Cassandra deve mescolare
tutti i dati in giro così i prossimi passi
quando si esegue la migrazione è la produzione
Cassandra a dischi a stato solido diversi
i cluster hanno fatto circa un centinaio
eseguendo il passaggio successivo da un punto di codice
di vista è di prendere priam e avviare auto
scalando Cassandra in 1.2 cassandra ha V
i nodi praticamente in questo momento sono l’ unico
modo sensato di ridimensionamento di Cassandra
doppio o metà della dimensione dell’anello così
che ogni nodo si divide in un amico o
coalescenza a due a uno v nodi è un
livello aggiuntivo di riferimento indiretto nel token
mappatura che consente di aggiungere un nodo e
sposta solo alcuni dati ad esso senza
interessando troppo il resto del
sistema come parte della Dinamo originale
la carta è qualcosa che reagisce già
ha quindi è non è nuova tecnologia è
qualcosa mancava semplicemente al
implementazione originale di Cassandra così
con i nodi V possiamo iniziare ad aggiungere e
riducendo il nostro cluster di un nodo in a
tempo e cosa finirà dove c’è
un cluster in cui lo si avvia appena quando
si inizia a scrivere i dati che dirà
non abbiamo più di 100 gigabyte o
500 gigabyte di dati per nodo e una volta
succede che si riempie a quel punto
inizierà solo a crescere perché la capacità
crescita in modo da non rimanere mai senza disco
spazio il tuo cluster diventa sempre più grande e
poi quando lo invii, il traffico aumenterà
al livello di traffico
Inoltre, quindi se hai bisogno di inviare
abbastanza traffico finirà per avere
metà dei dati quindi se lo hai detto due volte
il traffico ora ogni sera alle 4 del mattino siamo
bisogno di molto più probabilmente avremmo bisogno di molto
cluster più piccoli di quanto saremmo alle 7 di sera
quindi quello che possiamo fare è avere la nostra Cassandra
i cluster ordinano il ridimensionamento e la crescita e
restringendosi ogni notte e un modo di
pensare a questo è storicamente noi
molti dei progressi in
la tecnologia viene imparando come sprecare
qualcosa di qualche risorsa che ha usato
essere davvero molto difficile da trovare
ed è stato costretto diventa improvvisamente
abbondante e qui ops erano a
vincolo ora sono abbondanti e allora
Sto facendo è capire come posso
sprecare il mio ops sto sprecando ops I qui a
per salvare qualcos’altro e cosa io
può fare qui è lo spreco che ops by
ridimensionamento automatico di un server con stato back-end
e risparmiare sui soldi avendo meno
istanze e anche rendere il tutto
automazione migliore quindi questo può essere uguale
Gli SSD sono cambiavalute e lo sono
andando ci sarà di nuovo
applicazioni nuove cose che tu
non potevo fare prima
ok così mi restano pochi minuti e
Parlerò di un Netflix
progetto di hack day interno che per fortuna
non è stato effettivamente implementato è Skynet
okay, Skye Skynet è il computer di
i film di Terminator e per fortuna è così
solo implementato in PowerPoint ma
Ho capito come implementare Skynet in
Cassandra quindi quelli di voi che non lo fanno
so di cosa sto parlando della trama
pezzi della trama che conta è Skynet
è un computer senziente che difende
stesso se provi a spegnerlo ok
quello era il tipo della parte iniziale di
la trama era che cercavano di spegnerlo
e ha deciso che non voleva essere chiuso
giù e dal momento che era responsabile del
sistemi di armi d’America ha combattuto
a destra c’è un ragazzo di nome Connor
chi lo uccide prima o poi
c’è un terminatore che ha inviato indietro nel tempo
uccidere Connor e un sacco di cose come
tale diritto in modo quelli sono di base che è
la trama ed è stato un hack così questi sono
gli attori quindi abbiamo una Cassandra
cluster che rileva che sta andando essere
attaccato e risponde che abbiamo un Connor
scimmia che uccide i nodi di Skynet e noi
avere una scimmia terminatore che uccide il
note chiave dell’economia e c’è
andando
c’è il controcanto e c’è il
Terminator ragazzo, quindi come stiamo andando
implementare questo bene avremo
Cass cinetica negozio una sua storia
mondo tutto ciò che vede sempre , semplicemente
accedere a una memoria
e poi avrà come un cervello quello
ha azioni e l’azione se perde a
il nodo sostituirà ovviamente quel nodo
ma ha detto che sai se sto perdendo i nodi
Dovrei diventare più grande quindi ho più nodi
iniziare con così la reazione per iniziare
uccidere un cluster Skynet lo è
diventa sempre più grande e più grande
più si cerca e uccidi bene anche se
è preso di mira in una zona che
dovrebbe essere in grado di replicare se stesso a
un’altra zona rispetto ad un’altra regione e così via
questo cluster e quindi dividere in modo che
ora ci sono repliche di questo Skynet
tipo di cluster di fluttuare dentro
Amazon guarda in modo diverso
luoghi e cercando di nascondere e anche se si
vede una scimmia di Conan che inizia a
terminator scimmia per andare a sparare quel tipo
di scimmia giusto così l’ implementazione
il piano qui era in Priamo che già abbiamo
Otto sostituendo i nodi mancanti sappiamo come
per far crescere il gruppo in realtà abbiamo bisogno di
capire come replicare in un nuovo
zona, ma in realtà è piuttosto semplice
codice e e passare a una nuova regione che
abbiamo un po ‘di automazione , ma è così
non ancora fatto, quindi c’è un po ‘
un po ‘di nuovo codice ci abbiamo un paio
di spazi chiave azioni e memoria e
quindi forse un cron job una volta al minuto
legge solo le azioni e esegue qualunque cosa
lì giusto un’altra cosa interessante è
se se dividi questo e te
uccidere effettivamente alcuni dei
nodi avrebbe davvero dimenticato le cose
giusto se le uniche parti di questa chiave
lo spazio era in un certo nodo che avrebbe
dimentica, ma se si è imbattuto in un’altra copia
di per sé potrebbero fondersi e loro
potrebbe riparare la memoria l’un l’altro così tu
potrebbe avere un auto riparatore
imparando in modo che possa iniettare a
nuova azione in una Cassandra Skynet
nodo e come correva intorno sarebbe
infettare tutti gli altri nodi con quello
nuova azione e poi la scimmia del caos è
abbastanza ovvio, ecco la mia simulazione
siamo noi ad est con quattro Skynet
correndo dentro c’è la scimmia Connor
chi è spuntato in Amazon Brasile perché
era abbastanza lontano per disegnare il
foto che zappa I Annette e ne prende uno
ecco qui la scimmia Terminator che
ovviamente è in California perché
è lì che vive il Governatore e
Skynet lo ripara
fuori e poi lui va e lui tira fuori
sì sì , è meraviglioso
la simulazione non è comunque così ho pensato
Sarei divertente per tutti, ma è così
fondamentalmente ho finito con le diapositive che prenderò
alcune domande ora e come puoi vedere
è una buona idea che abbiamo un buon lavoro
non abbiamo in realtà ancora implementato questa
quindi la domanda è che anticipiamo
problemi con SSD siamo fuori da quando siamo
giusto pesante ci sono due cose che si è
il naufragio il nostro carico di lavoro non è pesante
ne abbiamo alcuni ne abbiamo 50 diversi
grappoli abbiamo tutto da quasi
100% diritto a quasi il 100% di leggere e
tutto in mezzo
dall’altra parte cosa fa cosa fa
SSD si usura quando li affido
per ora non mi interessa che sia Amazon
problema è cotto nel costo giusto
se io se un SSD si esaurisce, uccidi il nodo
e ottenere un altro uno a destra ti conoscono
se ottengo se trovo che uno di loro I
potrebbe aver bisogno di mettere qualche misura in
lì una volta diventano più grandi se questo
Potrei rilevare uno cattivo e uccidere
quel nodo e continua a rimpiazzare finché non ottengo
quelli buoni ma non è lo stesso modello
questo centro dati dove acquisti cose e
tienilo per tre anni tutto bene io
non importa di SSD dove sono fondamentalmente
l’altra cosa in realtà con Cassandra
non c’è amplificazione di scrittura in
Cassandra’s scrive che il disco è
fondamentalmente il perfetto carico di lavoro SSD
fa un solo diritto è un grande diritto
è sequenziale e non lo scrive mai
di nuovo non si aggiorna mai così ed è un grande
giusto così e poi un po ‘ più tardi no
unire ed eliminare quel file in modo che sia a
interfaccia molto pulita dove se si inserisce un
b-tree su un SSD che stai lavorando
è davvero difficile e si consumerà molto
più veloce le istanze standard di Amazon
avere da due a quattro dischi che ruotano ruggine e
puoi farti sapere che lo fanno girare come a
cento Hertz proprio così puoi farti avere un
poche centinaia di operazioni è tutto ciò che si ottiene due
dischi su due mandrini di capacità
dall’altra parte è una striscia di grandi dimensioni
numero di SSD e SSD non c’è niente
girando intendo anche un solo SSD
Gli SSD economici fanno da dieci a ventimila
UPS
facilmente e questo è un questo è un array di
piccoli SSD che sono stati estratti
fino a un volume quattro da Amazon
punto di vista quindi SSD è solo ricco
i Reeves casuali lampeggiano in modo giusto
sai che lo abbiamo misurato ne abbiamo presi cento
mille letture novecentomila voi
sapere che si può fare un centinaio di migliaia i up
per leggere o scrivere dipende che conosci il
giusto i modelli giusti contano ma il
il modello di cassandra destra funziona
davvero bene quindi sì è un cenone
cosa di ricchezza io ora invece di essere
costretto a poche centinaia di operazioni ora
ho solo un numero ridicolo e io il mio io
li ho portati a tremila, giusto io
ho centomila ho ottenuto fino a
tremila alcuni dei peggiori di noi
fatto finora penso che ci siamo alzati per circa
quarantamila dopo averle fatte
roba particolarmente patologica per uno
dei nostri grappoli che era un insetto ma il
sistema è stato solo andando sì posso farlo
giusto così la domanda è se sto mandando
una copia remota dei dati fa anti
entropia su di essa bene la cassandra ne ha diversi
sistemi anti entropia in esso così il primo
la cosa è accennata mano in modo che io
menzionato quando ho inviato i dati da remoto I
conservare la copia di tali dati localmente fino a
Ho sentito che una conoscenza lo voleva dire
arrivato e se non sento il
riconoscimento che conosci dopo tanto tempo
periodo di tempo forse questo nodo si blocca
o qualcosa e hai perso il
porta a porta ma copre le perdite a breve termine
giusto per te conoscono i giorni anche noi anche il
le le operazioni sono alla manutenzione
messa a fuoco e riga e questi interventi di manutenzione
le operazioni sono relativamente intense in IO
o uno è la compattazione che comprime
le tabelle SS in meno grandi
l’altro è la riparazione, quindi la riparazione richiede
tutti i nodi e costruisce alberi Merkle
di tutti i dati presenti in ogni nodo e
poi sposta quelli intorno e poi
li confronta e sul disco normale
nodi basati è doloroso perché
sovraccarico i nodi e tu ottieni io
carenza e lo fai sapere
influisce sulle tue prestazioni di lettura quando tu
quando lo fai con quelli SSD
abbiamo abbastanza banda I / O che possiamo
eseguire riparazioni e compatto
senza prendere i nodi offline noi
in genere richiede un nodo offline da eseguire
compattazione e riparazione su di esso
il problema con la riparazione sei tu
confrontando tutte e tre le copie dei dati
quindi se stai cercando di ottenere una buona lettura
larghezza di banda hai tre copie che sono
tutto occupato quindi c’è una cosa chiamata
riparazione scaglionata che tenta di barcollare
il duro lavoro ed è una sorta di aiuta un po ‘
non aiuta completamente il reale
la risposta è di funzionare su SSD okay
grazie mille

Please follow and like us: