
ciao a tutti il mio nome è quello di saltare sono
il fondatore di
cast nocciola così oggi parleremo
sui cluster di cui parleremo
acquisizione della scalabilità e caching dolce così
tutte le cose divertenti e farò a
demo Prendo il rischio va bene così così
cosa è il cast di nocciola nocciola, così sarà
Sappiamo tutti che hashmap il suo valore chiave
è l’hashmap non è thread-safe se
vuoi condividere la mappa
più thread utilizziamo l’hash simultaneo
mappa o qualsiasi thread hashmap sicuro così
cosa succede se vogliamo condividere la mappa
più JVM non solo thread ma
più JVM che è nocciola così tanto per te
creare un’istanza cast nocciola con a
configurazione e poi dici nocciola
il cast mi fornisce una mappa, quindi il nome della mappa è
la mia mappa dei clienti mappa così qualsiasi cosa sia così
tu se i nomi sono gli stessi che sei
effettivamente lavorando sulla stessa mappa esatta
non importa quale sei tu
accedendo da così così farò una demo è
è più di una mappa è distribuita
code e serrature e tutta quella roba così
Farò il loro demo per renderlo molto chiaro
va bene così quando decomprimi il nocciolo
espressi così hai intenzione di andare
vedere qualcosa di simile in modo tale directory di Lib
contiene tutte le librerie di cast nocciola
cast nocciola contiene tutti gli altri
barattoli quindi prendi quel barattolo nel tuo
il pad di classe che hai finito non c’è
dipendenza quindi solo single single tech
vaso va bene così e abbiamo la gestione
centro per la gestione del cluster è a
interfaccia utente web e documentazione e tutto il resto
roba buona anche io ho costruito una console
applicazione alla demo cast nocciola
quindi diamo un’occhiata a cosa abbiamo qui
Userò ok sublime e va bene quindi andiamo
guarda cosa abbiamo qui non è niente
diverso da quello che dice include questo barattolo e
eseguire fondamentalmente questa applicazione console
quindi rendilo più grande okay, singolo barattolo messo
nella tua classe bat, quindi inizi a usare
l’API va bene così giorni stretti e
Ho intenzione di eseguire l’applicazione della console
va bene come console salvia che Sh così
questo comincerà a nocciolo e inizierà il mio
applicazione che è una console
l’applicazione è una riga di comando
l’applicazione internamente chiamerà nocciola
il cast e i suoi ospiti inizieranno così
dice che c’è un solo membro nel
Cluster di classe e sono io questo sono io
ti dice l’indirizzo e la porta
numero che hai iniziato così farò MDOT
Metti che è come una mappa, metti la chiave giusta
è uno e Chicago ora se finisco
ottenere di nuovo come una mappa ottengo il valore di
Certo che ora ho intenzione di accendere il
centro di revisione per vedere come stanno le cose
disposti in modo che renderà tutto di più
liberare SH in modo da separarsi per menzionare la svolta e
iniziare quindi è un server web di coniglio
iniziando così fammi fare un po ‘di cose
più grande admin admin login quindi questo è il mio
cluster mi collego quindi diamo un’occhiata a
layout quindi quindi renderò questo un po ‘
più grande, quindi dice che ce n’è solo uno
membro per questa mappa predefinita che siamo
guardando in questo momento queste sono le mappe
che stiamo lavorando su così la mappa
contiene solo un membro e c’è
solo una voce nel
in quel membro quindi non c’è backup
perché non c’è nessun altro membro, quindi facciamolo
vediamo come cambiano le cose, quindi lo farò
inizia un’altra nota come
eseguire la stessa applicazione o
applicazione diversa su un’altra macchina
nella rete quindi se lo consolo
l’era glaciale quindi userà il multicast di
predefinito e scoprire un ragazzo e unisciti al
grappolo e forma a grappolo a destra
ora così così ora abbiamo così come puoi vedere
qui vedo la seconda nota che puoi
vedere l’albero dell’uomo effettivamente spostato al
l’altro così era su quel nodo ma esso
mosso dopo che il secondo ragazzo è entrato così
riequilibra il cluster e sposta i dati
attorno al cluster va bene così e guarda
come anche questo ragazzo ne è il proprietario
voce e il secondo nodo è il backup
okay, quindi abbiamo esteso la mappa in questo modo
possiamo fare di più con i dati, così possiamo
bloccare la voce in cui li chiuderò
qui e io vengo, sto solo andando
prova ad aggiornarlo da qui dal
un’altra JVM e un valore Palo Alto
questo è il posto dove andavamo , non è così
in grado di perché è bloccato dal
altra JVM ovviamente non appena sono chiusa
dal primo che attraverserà
e un aggiornamento fa l’aggiornamento se faccio a
ottenerne una ottengo la nuova voce quindi è a
mappa mappa hash concorrente che conosciamo
da Java ma abbiamo aggiunto cose come una scatola
e ascoltatori quindi posso anche ascoltare
chi sta aggiornando quello che è così così, lo farò io
metti più dati che molti comandi faranno
ha messo migliaia di voci così e vedremo
che i dati hanno fatto
quindi questi due membri condividono il
dati quindi è quasi metà e metà e
anche i backup sono lì, quindi lo farò
inizia il sesso o nota ora console
Bene, guardiamo, vediamo come
le cose cambiano qui così per questa mappa così
come i dati si muoveranno così
vedrai il terzo nodo che unisce I
vedi quello qui e poi ancora
mille e una voci così queste
è come sono tracciati e backup
alla fine prendere piede e diventare anche il
mille-così, quindi non ci affrettiamo a
ottenere tutti i backup perché sarebbe
impatti sulla rete impazzire se ne hai 100
milioni di voci quindi alla fine lo sarà
lo stesso così ancora una volta è un vaso singolo
stampa sul tuo classpath usato simultaneamente
hashmap che già conosci e tutto
Le JVM nella rete lo condivideranno
mappa quindi c’è qualcosa che vuoi che io faccia
fai qui come qualsiasi cosa tu voglia che io faccia
prova così le serrature sono solo per i diritti
mentre mentre la voce è bloccata puoi farlo
leggi ancora si si
dovresti provare ok tutto bene
quindi chiudiamo da dove partiamo
questo è il terzo e dot lock uno di questi
il tizio è il proprietario del lucchetto
non la voce quindi vedremo il lucchetto
proprio qui vedo che è già
bloccato così il blocco è sul secondo
uno adesso secondo, quindi abbiamo fatto il log
l’operazione dalla terza voce è di proprietà
dal secondo è il motivo per cui c’è una serratura
al secondo ok, quindi, quale si fa?
voglio che uccida il secondo e quindi se
il secondo va giù per la serratura
il proprietario ha ancora tre diritti cosa fai tu
aspettarsi che accada dovrebbe dovrebbe il blocco
rimanere fermo dovrebbe rimanere e e così via
probabilmente la voce sarà di proprietà di
qualcun altro e tu ancora vediamo ancora
questo se dovessimo vedere ancora tutto il blocco
ok ok, facciamo boomlet prega e poi e
sì quindi stiamo per uccidere
andremo a uccidere il secondo
giusto questo è il secondo giusto
controllo vedi qui andando giù così bene
il primo che abbiamo visto è morto
ora abbiamo visto che mai la legge non abbiamo perso
i dati e abbiamo visto che la fortuna è lì
va bene così se io se io ok così ancora terzo
è proprietario del registro e questo è
ancora attivo quindi questo ragazzo è morto io sono
appena tolto da questa scena così
lo farò se provo a farlo finisci
questa voce non dovrei essere in grado di farlo
perché il terzo è ancora proprietario del
log ok quindi sono originale di Istanbul quindi
lo farò proverò a scavalcare sì, non lo sono
in grado di perché l’altro ragazzo ha il
registrati, uccidiamolo e vediamo se
loro scavano sì, il blocco viene rilasciato, va bene
va bene, questo è il terzo
si va bene quindi vediamo prima vediamo
cosa succede il secondo ragazzo dovrebbe
dovrebbe morire e non c’è alcun blocco che sia
bene e poi vediamo se è così
attraversato vediamo se ottengo Istanbul
giusto dovrei ottenere istanbul sì così
significa sì sì, puoi ancora arrivarci
ma sto solo dicendo che sono solo il doppio
controllando se il put è andato bene
quindi perché stava aspettando il morente
membro giusto
okay, quindi sei così che vuoi noi che vuoi
vuoi prima iniziare una transazione
e poi mette e poi prima di loro
Impegno hai vinto chi ha vinto chi sta per
morire così dimmi solo così così
non andava bene nota che ha il
dati che sono bloccati a destra così così così
Il ragazzo delle transazioni di Kohler è ancora vivo
giusto così i dati stanno morendo è nel tuo
caso giusto hanno fatto il proprietario della serratura
sta morendo no, il proprietario dell’entrata sta morendo
giusto così così in questo caso
transazione rimarrà in vita perché
il proprietario della voce è morto e il
la proprietà cambierà sarà
cambiando a qualcun altro e il da
dal punto di vista della transazione
non è successo nulla perché le serrature
saranno trasferiti anche al
il nuovo tipo BB ha visto così che abbiamo ucciso il proprietario
blocco è stato riportato al l’altro ragazzo
insieme con l’ingresso e così da loro
dalla prospettiva del client di transazione
non è successo niente ma se il
la nota della transazione muore come per denotare
che ha iniziato la transazione muore
ovviamente tutte le serrature associate a
la transazione sarà rilasciata e
la tua transazione non è stata completata
fondamentalmente giusto ma il ragazzo ha già
il tizio che possiede gestisce la transazione
il codice è morto come se non riuscissi nemmeno a rotolare
come se tu fossi appena morto
tutto ciò che possiamo fare è rilasciare le serrature
associato al diritto di transazione
in realtà rilascia tutti i log che
appartiene a quel ragazzo non solo il
transazione ma tutte le altre giuste
sì
oh sì, quindi supportiamo anche il
Cio ‘ che farò, giocherò con quello a
un po ‘ricomincio questa nota così
i segnali funzioneranno allo stesso modo
regolarmente dirai cast nocciola
ottenere q il nome della coda sarà lo stesso
per tutti i jvms e poi quello che sarebbe
argomento sì così così ci sono due due
cose come code e argomenti
le code piaceranno solo a te
consumare l’oggetto una volta dalla coda
proprio come il blocco Java eq esattamente lo stesso
comportamento e c’è una sicurezza che questo è
non quello che vuoi, va bene anche così
sì sì, quindi inizierò il terzo a
sarà divertente se quando avremo più JVM
così carino che questo tizio sta provando a prenderlo
forse un consolato saggio invecchia così tanto
questo ragazzo sta già provando a prenderne
figlio prendere qualcosa così ho intenzione di provare
prendere da qui anche così questo ragazzo è
cercando di prendere due così questi due sono
cercando di prendere qualcosa e questo terzo
JVM offrirà qualcosa di interessante per l’attività
quindi facciamo questo solo ok
di loro prenderà e l’altro lo farà
stai ancora aspettando proprio così, succede
per essere quel ragazzo che è il vincitore così
ha preso l’incarico in modo che sia per questo che io
vedi che quindi questo ragazzo e ‘ancora bloccato
ancora aspettando così fino a qualcun altro
offre qualcosa di compito due e poi questo
questo ragazzo sarà proprio come i maiali intendo
bloccando q che conosci ma attraverso
più JVM
lo stesso comportamento transazionale lo farà
applicare in modo che anche gli spunti vengano salvati
è così e nel centro del menu sei
sto andando a vedere Q qui, questa è la chiave
che abbiamo lavorato in questo momento
niente abbiamo offerto qualcosa e noi
consumato offriamo qualcosa e noi
consumare è per questo che abbiamo visto così quelli
okay, sì, va bene, va bene così così
ricontrolliamo se è il kyle
qui prima lei non è qui, allora possiamo
ok sembra che non sia qui, quindi posso
dì tutto quello che ho, è registrato così
forse dovrei essere un po ‘più attento
così il multicast è solo per la scoperta dopo
MultiAir discovery millennium no
devono essere multicast dal modo in cui noi
supporto tcp / ip e anche per AWS se
stai eseguendo l’app app su AWS tu
non devi dirci niente che vogliamo
capire i nodi nel cluster
dopo la scoperta tutto è IP TCP
fondamentalmente unicast quindi diciamo te
avere dieci nodi cluster e rete
partizionamento accade così qualcosa è andato
sbagliato nella rete quindi così là
ci sono casi semplici e super-super
casi pazzi il caso semplice è questo
la rete è partizionata proprio nel
medio destro quindi lunghezza 5 o come 55 o
28 proprio la separazione pulita così il
la separazione pulita è più facile da gestire
ma ancora quando si entra in rete
il partizionamento è probabilmente possibile mantenere
correre in qualche modo, ma si deve sapere che
le cose sono in memoria, quindi significa che lì
sarà un po ‘funk alla fine
alla fine potresti
Potresti avere che puoi avere il
stessa voce aggiornata su entrambi e così prima
lascia che ti dica cosa succederà
prospettiva di gas nocciola così due separati
i cluster accadrà proprio come facciamo
dire che quattro a sei accadrà sarà 55 volontà
capita bene e allora così penseranno
che sono lì sono il gruppo
e altri ragazzi sono morti e giusti
alla fine il ragazzo risolverà la rete
e poi il cast nocciola lo scoprirà oh
In realtà ero parte di un cluster più grande
Dovrei unirmi a destra quindi di solito più piccolo
si uniranno a quello più grande, se lo sono
la stessa identica misura come 55 la più piccola
l’hash dell’IP si unirà al più grande hash
così perché quando stanno cercando
a vicenda vengono inviati anche gli hash
così così quando così chiamiamo questa fusione di
la divisione destra così quando l’unione
succede così devi farlo
venire complesso giusto così così perché stesso
le voci finiranno su entrambi e e
probabilmente saranno aggiornati nel
nel frattempo giusto così quando ti unisci così noi
devo aggiustarlo così ci sono built-in
le politiche per questo così come l’override
qualunque cosa tu abbia o ci metti solo non c’è
entrata per così tante politiche già
esiste ma se nessuno di loro si adatta a te
quindi stiamo andando ad agire che puoi implementare
una politica di fusione che stiamo per darti
le voci che vedrai
data timbro del sito o il valore di
la voce e stai andando a fare un
selezione per noi, ecco perché ho detto
alla fine sarà messa lì c’è
nessuna soluzione perfetta per quell’altro
puoi dire di sapere cosa fare quando la divisione
succede o quando tu quando il numero di
i nodi vanno sotto i 7 stop come il congelamento
l’intera cosa che non dovremmo fare per te
perché stai cercando di essere di più
coerente rispetto disponibile così la corrente
il comportamento è un comportamento di uno sguardo a
diventare disponibili non così quando dal
punto di riferimento quando capita
scegli di essere un ma quando non c’è p b
che scegliamo per essere forti
coerente quando non c’è rete
partizionamento di rete in modo che è al di là
il tappo questa chiamata così perché ho detto questo
perché così tutte le tue letture e le tue scritture sono
andrà solo al proprietario di
la voce quindi significa che non puoi
non posso leggere dati obsoleti a meno che tu
configurarlo in modo così così predefinito
la replica e tutte queste cose sono
asincrono e tutte le letture vanno a
il proprietario del proprietario, anche se tu sei il
backup di cui non riesci ancora a leggere
te stesso a meno che tu non abbia configurato come letto
qui leggi il backup
quindi avrei dovuto spostarmi un po ‘
più veloce ma um yeah fammi tornare a
diapositive perché ci sono alcuni dei
risposte già lì così va bene sarò
andare avanti molto più velocemente altrimenti sicuramente
rispondere a questa domanda va bene così è così
open source cinque megabyte singolo barattolo n
Dipendenza Maven amichevole basta usare Maven
è semplice, quindi cos’è il Sahara?
come partizioniamo i dati in modo sostanziale
c’è un c’è c’è un fisso
numero di partizioni nel cluster
la partizione è come un secchio o un segmento così
si siede di default 207 1 anno che possiamo voi
può cambiarlo duemilacinquemila
non importa davvero ma una volta
ha detto che non puoi cambiare bene mentre il
il cluster è ok, quindi è una correzione statica
un numero fisso e poi le tue chiavi
andando a piegare in uno di questi
partizioni quindi il modo in cui lo calcoliamo
è come hash la chiave e poi mod con
il conteggio Parchin sarà per un dato
la chiave ci darà sempre lo stesso
ID partizione quindi sappiamo per una determinata chiave
in quale partizione la chiave è n in
e poi andremo a quello andare
il proprietario della chiave e tutto questo
membrana il cluster definirà chi
possiede ciò che whoo-hoo ricorda di possedere
quale partizione quindi questo lo chiama
tabella delle partizioni interne, quindi non c’è
hai visto che non esiste un nodo principale
o come una posizione centralizzata di tutti
quella roba 0 ovunque siano tutti
peer e tutti sono quasi uguali 0
come ho detto quasi uguale perché il
il più vecchio membro il primo ragazzo nel
cluster ha un po ‘più di potenza perché
il membro più vecchio sa di più sul
cluster in un anno e in
e farà l’assegnazione del
partizioni quindi diremo che il nostro ti darà
queste partizioni a te e questo
domanda papà e tutta quella roba ma se
il membro più anziano lo farà
alla fine tutto questo membro morirà
questa è la natura e poi un altro ragazzo lo farà
battere tutto questo membro quindi sì, non lo è
come il ma quando si tratta di
la replica non è come i miei interi dati
Ripley sarà replicato a uno
l’altro ragazzo non è così se davvero
guardi l’immagine quindi questi sono i
posseduto le voci ma se puoi vedere il
blues o periferiche sono su entrambi i 22
osserva bene quindi l’idea qui è quella
quando il nodo muore, lo siamo già
partizionato ci piace molto equilibrato noi
non devo riequilibrare le cose così così
ecco perché non è come quello di questo ragazzo
sostenuta da quel ragazzo non è così
è più come questa partizione è così così
quindi parte il backup per questa partizione
questo ragazzo da quando lo avrai fatto
più partizioni per membro, quindi quando il
il nodo muore sei già in equilibrio
non c’è bisogno di riequilibrare le cose sì
dobbiamo ancora prenderci cura di
backup ovviamente perché il ragazzo è morto
e manca il backup okay così così
i gatti nocciola possono essere eseguiti come server incorporato
quindi è un barattolo per stampare il tuo web
file di guerra dell’applicazione e ognuno indossava un web
server può diventare un membro del
cluster in modo che è incorporato cast nocciolo
puoi anche essere eseguito come server client
posso dire oh no no non voglio il mio web
applicazione per contenere la nota di nocciola
dentro puoi dire che farò il cast nocciola
osserva come un cluster separato e il mio web
applicazione o dotnet o C
L’applicazione C ++ sarà una Klein
questa è una bugia architettura client-server
fondamentalmente entrambi hanno i suoi beni in cattiva luce
quindi non è così così sei tornato al tuo
domanda un calo arriva con due sapori
uno è come un
linea di click semplice che oh noes che parla
solo un ragazzo in un cluster e tutto
sarà propagato oltre da quello
ragazzo quindi è come se l’altro fosse intelligente
il cliente smart Klein sa esattamente dove
il dato è che il client intelligente andrà al
proprietario dei dati da qui
correggi, quindi utilizzerai smart
è quello predefinito, ma se ti piace
Probabilmente voglio dire 10.000 Klein
probabilmente sceglierai quello più semplice
perché ha solo una connessione giusta
ma se ne hai voglia, le centinaia vanno
l’intelligente si corregge così il cliente
dirà che faranno esattamente lo stesso
cosa guarda la chiave trova una partizione
ID e quindi guarda la tabella delle partizioni
e vedere le nostre ferite erano quelle partizioni
e poi vai direttamente da quel ragazzo
sì, accadrà che lo sia anche
le cose peggiori accadranno come a immaginare
così papà conosce il nostro pino così lo farò io
dirò ok ho perso la connessione così
chi è il nuovo proprietario Oh sembra il
il primo backup è stato quel ragazzo a cui andrò
quel ragazzo giusto o il tavolo delle patch
sarà ri-pubblicato da allora e poi
vai al ragazzo giusto ma anche peggio
come ho detto , aggiungendo più dati dei nodi
si muoverà quindi chiamiamo questa migrazione
delle partizioni proprio così la domanda
è così che fai una chiamata in un Wendy quando
la persona sta migrando, quindi cosa farà
Succede proprio così, dico una cosa simile
il cliente pensa o non importa
chi chiama chi effettua una chiamata la richiesta
entra e voi ragazzi vi devo, II
pensa che tu sappia che tu pensi
che io sono il proprietario ma non sono così
non andando a fare l’operazione così tu
l’operazione è rifiutata fondamentalmente e e
allora accadrà anche due cose
molti si aggiorneranno che tu sei
il proprietario o il cliente saranno aggiornati
dal vero nuovo proprietario, così sia
o uno di loro accadrà e
alla fine andrai al proprietario giusto
in modo da non potete voi non lo è
permesso di leggere dallo stesso anche se
ce l’hai adesso, ma puoi farlo
si può dire che sono la migrazione in modo che i mezzi
durante la migrazione le operazioni sono
bloccato ma solo per quella partizione il
il resto delle parti che ti piacciono se tu a
mille uno su mille sarà
migrando così il resto sarà giusto
fluendo bene così e la migrazione lo farà
sarà più lento a ridurre al minimo il
impatto giusto ok quindi alla fine api api
sarà lo stesso, ma il modo in cui inizi
l’istanza sarà diversa così sei tu
avvio del primo server del secondo server
se ti piace iniziare a notare nello stesso
jvm sei venuto a notare lo stesso
server così ad esempio nella nostra unità j
test facciamo iniziare cinque nodi e poi facciamo
faccio le nostre affermazioni su quelli è così
si inizia a rifiutare alla fine il
l’interfaccia sarà la stessa API sarà
puoi progettare per client e server
iniziare come nodo del server e poi
alla fine dite di sapere cosa non faccio
non mi piace questa topologia di layout integrata
Voglio tornare al server client e
poi devi solo cambiare una riga per ottenere il
il resto dell’istanza sarà fondamentalmente designato
quindi sì
Oh
okay, non stiamo davvero contando il
voci stiamo contando il numero di
partizioni stiamo dicendo oh quanti
le persone che possiedo e le tue e questo è
come è così se hai abbastanza dati
il che significa 100.000 è molto improbabile
che il tuo avrà più grande del
altro o più dell’altro, così sarà
essere molto ben bilanciato quindi dai dati
prospettiva di distribuzione penso che lo farà
essere alla fine uguali ma siamo ancora noi
ancora non non significa che andiamo
dì che stai scrivendo come a
roba di borsa e una mela è
sta avendo una buona giornata e tutto il tuo
la richiesta per la foto per quel segno di spunta è
andando a questo identico jvm tutto il
tempo così quando JVM sta diventando più caldo
quello può accadere ma voglio dire ma altro
di quello se si guarda la quantità di
dati è quasi sta per essere lo stesso in modo
diverso da come aggiungere nuovi nodi nuovi
la rimozione di un nodo sarà chiamata vocale
riequilibrare e anche lo sgombero causerà
riequilibrare quindi se ne hai tonnellate in più
stai usando la mappa come sfratto della cache
kicking in pulire alcuni dei dati
accadrà anche il riequilibrio, quindi tutto
deve essere in qualche modo hanno serializzabile
la voce non deve essere serializzabile
cosa, ma deve esserci un modo per fare
sterilizza proprio così perché alla fine
lo scriveremo attraverso il filo
l’installazione sarà una chiamata più grande quindi
prestare molta attenzione alla salvezza così
la tua rete è probabilmente molto buona e
il rendimento elevato non è un problema di solito
una latenza da cui si ottiene
civiltà quindi puoi imparare
sul cluster con l’API ascolta
per i cambiamenti di iscrizione e tutto il resto
roba buona
conosci la mappa distribuita e metti un cap
presto un po ‘ di roba tutto supportato sarò
veloce così multi mappa è roba facile q tu
sappi che roba già sono queste
non è davvero così elegante così sì abbiamo guardato
la mappa che blocca le cose per te
sappi che le cose così così sono così così
simile a Q ma a tutti i nodi
l’ascolto riceverà il messaggio così
è proprio come l’argomento JMS, quindi questo è il
codice no nient’altro va bene così gli eventi
puoi ascoltare chi sta aggiornando
cosa sulla mappa e Q’s va bene così
tu dici una semplice transazione API che puoi
puoi essere di supporto per la fase singola
fase si impegna a dire che questi sono i miei
opzioni di transazione ti darò un
eseguire la transazione o la coda delle transazioni
e poi fai le tue operazioni e tu
commit commit qui o rollback affinity
affinità dei dati Sarò veloce e lo farò
Finisci e poi se hai tempo lo faremo
fare più domande fino a quando il
chiavi sono gli stessi dati rimarranno sul
stesso nodo non ci interessa la mappa
nomi ci teniamo alle chiavi se tu se
vuoi avere gli ordini e le mappe
o origine i clienti sullo stesso nodo
devi trovare una chiave
è consapevole della partizione che può dirci
dove questo ragazzo dovrebbe vivere proprio così
sappiamo che è una partizione
la chiave sta puntando all’ID cliente
ciò significa che non usare il non usare altro
roba usa questa come chiave per trovare il
il proprietario va bene così xq il servizio regolare
Servizi esecutivi Java, ma lo sono
stanno andando a correre sui nodi così
puoi dire che il cast di Hazel esegue questo compito
su questo membro o eseguire questo test su questo
significato chiave particolare vai al
proprietario della chiave, perché vorresti
farlo perché sei
hanno ragione, così è così che fai
o puoi dire eseguire su ogni membro e
dammi una collezione come collezione
dei risultati quindi lavoreremo su un registro a
scenario che stiamo per aggiornare e
rimuovere un ordine da un cliente così noi
avere un oggetto cliente grande cliente
ci sono ordini al suo interno stiamo andando
per rimuovere uno degli ordini così è
la logica aziendale in modo da ottenere il
i clienti mappano bloccando la voce in modo che
nessuno può toccarlo mentre fai il tuo
lo stai facendo e poi lo farai
lo rimuoverai e poi ora
l’oggetto cambiato che devi rimettere
nel gruppo e lo sblocchi il
bloccare e sbloccare non è davvero necessario
diciamo che questo è richiesto per il nostro
caso aziendale come il requisito è
mentre tu stai aggiornando le cose
non voglio che nessun altro tocchi quello
il requisito diciamo normalmente
non c’è bisogno di tutto è atomico
già ma stai cambiando roba, facciamolo
Diciamo che il business richiede questo, quindi questo
sembra buono e semplice ma questo è questo
è problematico puoi dirmi cosa sono
il problema è qui di cosa si tratta è
sì, come è in realtà è molto di più
sì, la serratura pessimista è giusta per te
devo bloccare le serrature in qualche modo ma
ma vedi anche che ci sono quattro distributori
operazioni uno due tre quattro se tu
non so dove sia la chiave giusta per te
potrebbe fare per le chiamate distribuite
solo per fare questo puoi farlo
meglio dirmi il tuo modo possiamo farlo
meglio senza 40 chiamate possiamo farlo dentro
uno scatto ma tu ne farai uno
aggiorna così alla fine sì, così puoi farlo
è un compito di eliminazione dell’ordine di attività di eliminazione
partizionato consapevole quindi sappiamo dove andare
quindi la vertigine è l’ID cliente reale così
i suoi ragazzi prenderanno questo oggetto call e
inviarlo al proprietario dell’ID cliente
ed esegui questa chiamata laggiù
così ora i dati sono lì così ma ancora
non perfetto perché non possiamo ancora ottenere
liberarsi delle serrature perché è un’altra
filo devo ancora ottenere le bugie
in qualche modo ottenere le serrature per essere sicuro così può
lo facciamo meglio sì possiamo che è che è
chiamato entra processore così entra
anche il processore fa parte della cassa
specifica che è enorme per il java caching
standard, quindi quello che stai facendo è
questo così abbiamo creato l’ordine di cancellazione che è
un processore Android e tu nel
metodo di processo che stai dicendo che stiamo andando
per darti l’oggetto cliente e poi
fai tutto il tuo stop lì e poi
restituire è il codice è più semplice
e questo ti dà un blocco implicito
la voce in modo da non dover avere un
blocco esplicito su gentry quindi entrata
processore i nostri processi sono garantiti
eseguire sul nodo che possiede la voce
e ti dà il blocco implicito di te
può essere sicuro che nessun altro si sta toccando
la voce mentre si sta toccando possibile
è garantito e questo è il
miglior modo di aggiornare una voce così
il servizio executive è carino ma non del tutto
e il condensatore è la strada da percorrere così
questo vuol dire che ci preoccupiamo della creazione di grafici
i dati in modo che possiamo ridimensionare ma anche
ci interessa come aggiorniamo la voce
e il processore di ingresso è il modo migliore per
fai questo come puoi immaginare
il processore di ingresso è la sua operazione di ingresso
giusto così e questo è come lo chiami tu
di ‘hey Hisoka mi ha dato i clienti
mappa qui è il mio processo di ordine di cancellazione entra
il processore viene eseguito sulla chiave questo è il
chiave questo è il pass per l’ingresso, signore, basta andare
e corri così che l’equipaggio puoi andare
per interrogare i clienti hazel, diciamo te
avere questi campi che vuoi ottenere
attivo ed età inferiore a
qualunque sia il 30 30 questo è come lo fai tu
puoi aggiungere indici come hai aggiunto tu
nei database in modo che il tuo corso possa essere così
più veloce ma poi puoi dire valori di mappa
e passare come un SQL dove clausola suo
succede andrà in parallelo vai al tuo
note usano l’indice se ce ne sono e
ottenere loro di ottenere le cose che tu
voglio davvero e quindi combinare i risultati
indietro e dargli la persistenza è
la sua ipotesi è tutto in memoria ma nel
caso di distribuzione della cache, vedere questi sono
le tue applicazioni web e questi questi
sono i tuoi database che potresti potresti
avere più database proprio così
relazionale Oracle MySQL o no SQL e
i suoi gatti possono sedersi proprio in mezzo così
in questo modo il tuo tocco con cui stai parlando
Hazel gettato ed i suoi ospiti saranno
parlare con questi ragazzi oltre sembra così
fondamentalmente stiamo incassando tutti i tuoi dati
strati e, naturalmente, stai per dire
So come parlare con i gatti Hazel ma come
è la casa come parla il cast nocciola
ai miei database questo è come
è così se non sai come accedi
il tuo database ma possiamo farlo se scrivi
il codice se si implementa la mappa dell’archivio delle mappe
loader weekend ti chiamerà per parlare
il database così quando è il momento giusto
diciamo che ci mappa che metti come parte
del put chiamerà il tuo negozio
l’implementazione ti darà la chiave
valore e ti chiederemo di scriverlo
ovunque tu voglia scrivere, potrebbe
sii, è possibile che tu sia
scrivere su un database relazionale o no
Database SQL non ci interessa naturalmente noi
avere plugin per NORTHCOM MongoDB attivo
altri ma hai ancora la libertà di
implementare la logica aziendale qui
e vai in qualsiasi negozio che ti piace così si
questo è anche quello che siamo così
così abbiamo quando quando la prima volta
potrebbe toccare la mappa che chiameremo
questo carica tutte le chiavi così potresti essere
caricando tutte le chiavi o alcune delle
le chiavi a cui tieni l’ aspetto più corretto
come le chiavi più calde così alla fine dentro
diciamo che lo si carichi come 10
milioni di 100 milioni ok in questo
Verranno caricati 10 milioni di chiavi
in parallelo dai nodi nel cluster
quindi diciamo che hai 10 note ciascuna
il carico di un milione di così in parallelo
caricherete e riscalderete il
contanti e poi te ne vai quando tu
fare un put che chiameremo questo quando
quando non abbiamo la voce che stiamo andando
chiamare questo per ricaricarlo dal
dall’archivio dati effettivo dell’archivio dati così
la persistenza può essere giusta o giusta
attraverso di dietro significa esattamente attraverso
significa che fa parte dei ritorni put put
dopo che il negozio dietro lo significa
ritornerà prima di toccare quel codice
ma ogni 10 X o 10 o X secondi
possiamo capire che stiamo andando a noi
andando a eseguire un’operazione batch per lo svuotamento
tutto il relitto della sporcizia nel database
questa scala è pazzesca bene anche se il
il database non è raggiungibile, va bene
li stiamo andando a segnarli
come sporco fino a quando la connessione è
stabilito
okay, mi farò finire e poi lo è
in realtà quasi siamo quasi arrivati
non hai parlato molto della configurazione
perché speriamo che non avrai mai bisogno
che odio la configurazione, quindi ragazzi
arriverà con il più significativo
e valori predefiniti, ma nel caso sia necessario
questa è la rete è così che noi
definire chi sono i membri nel
cluster in modo che possiamo trovare altri ragazzi
e questo è l’intervista questo è il
questo è il modo in cui definiamo quale porta legare
quale IP definito dal tuo computer
probabilmente avrà più di un IP e
quale IP vuoi usare nocciola?
questo è dove lo definisci così
il modo in cui ti piace è molto possibile in
un ambiente cluster a cui inizia una nota
192 un’altra nota inizia alle dieci e loro
non parlare tra loro e poi tu
cercare di capire come perché è così
fondamentalmente dire hey quando inizi
non vedo l’ ora di 192 indirizzo e
leghiamo a questo perché conosciamo quel mazzo
ci stanno parlando tra di loro bene
così / mappa si definisce il numero di backup
backup o backup asincrono che puoi
avere uno sincrono asincrono
back up to ton TTL per le voci e
tutto ciò che definisci un negozio di mappe
di cui abbiamo parlato di Fermat non lo facciamo se
non devi definire puoi dire
tutto ciò che inizia con questo verrà utilizzato
questa configurazione quindi proviamo a usare wild
carta per quanto possibile per semplificare
la configurazione sì è un singolo java
file jar che può essere eseguito come incorporato
server o un server remoto e consente
per fare il caching distribuito o
accodamento messaggi in modo da darti tutto
queste strutture e servizi di dati
sì grazie mille
il fondatore di
cast nocciola così oggi parleremo
sui cluster di cui parleremo
acquisizione della scalabilità e caching dolce così
tutte le cose divertenti e farò a
demo Prendo il rischio va bene così così
cosa è il cast di nocciola nocciola, così sarà
Sappiamo tutti che hashmap il suo valore chiave
è l’hashmap non è thread-safe se
vuoi condividere la mappa
più thread utilizziamo l’hash simultaneo
mappa o qualsiasi thread hashmap sicuro così
cosa succede se vogliamo condividere la mappa
più JVM non solo thread ma
più JVM che è nocciola così tanto per te
creare un’istanza cast nocciola con a
configurazione e poi dici nocciola
il cast mi fornisce una mappa, quindi il nome della mappa è
la mia mappa dei clienti mappa così qualsiasi cosa sia così
tu se i nomi sono gli stessi che sei
effettivamente lavorando sulla stessa mappa esatta
non importa quale sei tu
accedendo da così così farò una demo è
è più di una mappa è distribuita
code e serrature e tutta quella roba così
Farò il loro demo per renderlo molto chiaro
va bene così quando decomprimi il nocciolo
espressi così hai intenzione di andare
vedere qualcosa di simile in modo tale directory di Lib
contiene tutte le librerie di cast nocciola
cast nocciola contiene tutti gli altri
barattoli quindi prendi quel barattolo nel tuo
il pad di classe che hai finito non c’è
dipendenza quindi solo single single tech
vaso va bene così e abbiamo la gestione
centro per la gestione del cluster è a
interfaccia utente web e documentazione e tutto il resto
roba buona anche io ho costruito una console
applicazione alla demo cast nocciola
quindi diamo un’occhiata a cosa abbiamo qui
Userò ok sublime e va bene quindi andiamo
guarda cosa abbiamo qui non è niente
diverso da quello che dice include questo barattolo e
eseguire fondamentalmente questa applicazione console
quindi rendilo più grande okay, singolo barattolo messo
nella tua classe bat, quindi inizi a usare
l’API va bene così giorni stretti e
Ho intenzione di eseguire l’applicazione della console
va bene come console salvia che Sh così
questo comincerà a nocciolo e inizierà il mio
applicazione che è una console
l’applicazione è una riga di comando
l’applicazione internamente chiamerà nocciola
il cast e i suoi ospiti inizieranno così
dice che c’è un solo membro nel
Cluster di classe e sono io questo sono io
ti dice l’indirizzo e la porta
numero che hai iniziato così farò MDOT
Metti che è come una mappa, metti la chiave giusta
è uno e Chicago ora se finisco
ottenere di nuovo come una mappa ottengo il valore di
Certo che ora ho intenzione di accendere il
centro di revisione per vedere come stanno le cose
disposti in modo che renderà tutto di più
liberare SH in modo da separarsi per menzionare la svolta e
iniziare quindi è un server web di coniglio
iniziando così fammi fare un po ‘di cose
più grande admin admin login quindi questo è il mio
cluster mi collego quindi diamo un’occhiata a
layout quindi quindi renderò questo un po ‘
più grande, quindi dice che ce n’è solo uno
membro per questa mappa predefinita che siamo
guardando in questo momento queste sono le mappe
che stiamo lavorando su così la mappa
contiene solo un membro e c’è
solo una voce nel
in quel membro quindi non c’è backup
perché non c’è nessun altro membro, quindi facciamolo
vediamo come cambiano le cose, quindi lo farò
inizia un’altra nota come
eseguire la stessa applicazione o
applicazione diversa su un’altra macchina
nella rete quindi se lo consolo
l’era glaciale quindi userà il multicast di
predefinito e scoprire un ragazzo e unisciti al
grappolo e forma a grappolo a destra
ora così così ora abbiamo così come puoi vedere
qui vedo la seconda nota che puoi
vedere l’albero dell’uomo effettivamente spostato al
l’altro così era su quel nodo ma esso
mosso dopo che il secondo ragazzo è entrato così
riequilibra il cluster e sposta i dati
attorno al cluster va bene così e guarda
come anche questo ragazzo ne è il proprietario
voce e il secondo nodo è il backup
okay, quindi abbiamo esteso la mappa in questo modo
possiamo fare di più con i dati, così possiamo
bloccare la voce in cui li chiuderò
qui e io vengo, sto solo andando
prova ad aggiornarlo da qui dal
un’altra JVM e un valore Palo Alto
questo è il posto dove andavamo , non è così
in grado di perché è bloccato dal
altra JVM ovviamente non appena sono chiusa
dal primo che attraverserà
e un aggiornamento fa l’aggiornamento se faccio a
ottenerne una ottengo la nuova voce quindi è a
mappa mappa hash concorrente che conosciamo
da Java ma abbiamo aggiunto cose come una scatola
e ascoltatori quindi posso anche ascoltare
chi sta aggiornando quello che è così così, lo farò io
metti più dati che molti comandi faranno
ha messo migliaia di voci così e vedremo
che i dati hanno fatto
quindi questi due membri condividono il
dati quindi è quasi metà e metà e
anche i backup sono lì, quindi lo farò
inizia il sesso o nota ora console
Bene, guardiamo, vediamo come
le cose cambiano qui così per questa mappa così
come i dati si muoveranno così
vedrai il terzo nodo che unisce I
vedi quello qui e poi ancora
mille e una voci così queste
è come sono tracciati e backup
alla fine prendere piede e diventare anche il
mille-così, quindi non ci affrettiamo a
ottenere tutti i backup perché sarebbe
impatti sulla rete impazzire se ne hai 100
milioni di voci quindi alla fine lo sarà
lo stesso così ancora una volta è un vaso singolo
stampa sul tuo classpath usato simultaneamente
hashmap che già conosci e tutto
Le JVM nella rete lo condivideranno
mappa quindi c’è qualcosa che vuoi che io faccia
fai qui come qualsiasi cosa tu voglia che io faccia
prova così le serrature sono solo per i diritti
mentre mentre la voce è bloccata puoi farlo
leggi ancora si si
dovresti provare ok tutto bene
quindi chiudiamo da dove partiamo
questo è il terzo e dot lock uno di questi
il tizio è il proprietario del lucchetto
non la voce quindi vedremo il lucchetto
proprio qui vedo che è già
bloccato così il blocco è sul secondo
uno adesso secondo, quindi abbiamo fatto il log
l’operazione dalla terza voce è di proprietà
dal secondo è il motivo per cui c’è una serratura
al secondo ok, quindi, quale si fa?
voglio che uccida il secondo e quindi se
il secondo va giù per la serratura
il proprietario ha ancora tre diritti cosa fai tu
aspettarsi che accada dovrebbe dovrebbe il blocco
rimanere fermo dovrebbe rimanere e e così via
probabilmente la voce sarà di proprietà di
qualcun altro e tu ancora vediamo ancora
questo se dovessimo vedere ancora tutto il blocco
ok ok, facciamo boomlet prega e poi e
sì quindi stiamo per uccidere
andremo a uccidere il secondo
giusto questo è il secondo giusto
controllo vedi qui andando giù così bene
il primo che abbiamo visto è morto
ora abbiamo visto che mai la legge non abbiamo perso
i dati e abbiamo visto che la fortuna è lì
va bene così se io se io ok così ancora terzo
è proprietario del registro e questo è
ancora attivo quindi questo ragazzo è morto io sono
appena tolto da questa scena così
lo farò se provo a farlo finisci
questa voce non dovrei essere in grado di farlo
perché il terzo è ancora proprietario del
log ok quindi sono originale di Istanbul quindi
lo farò proverò a scavalcare sì, non lo sono
in grado di perché l’altro ragazzo ha il
registrati, uccidiamolo e vediamo se
loro scavano sì, il blocco viene rilasciato, va bene
va bene, questo è il terzo
si va bene quindi vediamo prima vediamo
cosa succede il secondo ragazzo dovrebbe
dovrebbe morire e non c’è alcun blocco che sia
bene e poi vediamo se è così
attraversato vediamo se ottengo Istanbul
giusto dovrei ottenere istanbul sì così
significa sì sì, puoi ancora arrivarci
ma sto solo dicendo che sono solo il doppio
controllando se il put è andato bene
quindi perché stava aspettando il morente
membro giusto
okay, quindi sei così che vuoi noi che vuoi
vuoi prima iniziare una transazione
e poi mette e poi prima di loro
Impegno hai vinto chi ha vinto chi sta per
morire così dimmi solo così così
non andava bene nota che ha il
dati che sono bloccati a destra così così così
Il ragazzo delle transazioni di Kohler è ancora vivo
giusto così i dati stanno morendo è nel tuo
caso giusto hanno fatto il proprietario della serratura
sta morendo no, il proprietario dell’entrata sta morendo
giusto così così in questo caso
transazione rimarrà in vita perché
il proprietario della voce è morto e il
la proprietà cambierà sarà
cambiando a qualcun altro e il da
dal punto di vista della transazione
non è successo nulla perché le serrature
saranno trasferiti anche al
il nuovo tipo BB ha visto così che abbiamo ucciso il proprietario
blocco è stato riportato al l’altro ragazzo
insieme con l’ingresso e così da loro
dalla prospettiva del client di transazione
non è successo niente ma se il
la nota della transazione muore come per denotare
che ha iniziato la transazione muore
ovviamente tutte le serrature associate a
la transazione sarà rilasciata e
la tua transazione non è stata completata
fondamentalmente giusto ma il ragazzo ha già
il tizio che possiede gestisce la transazione
il codice è morto come se non riuscissi nemmeno a rotolare
come se tu fossi appena morto
tutto ciò che possiamo fare è rilasciare le serrature
associato al diritto di transazione
in realtà rilascia tutti i log che
appartiene a quel ragazzo non solo il
transazione ma tutte le altre giuste
sì
oh sì, quindi supportiamo anche il
Cio ‘ che farò, giocherò con quello a
un po ‘ricomincio questa nota così
i segnali funzioneranno allo stesso modo
regolarmente dirai cast nocciola
ottenere q il nome della coda sarà lo stesso
per tutti i jvms e poi quello che sarebbe
argomento sì così così ci sono due due
cose come code e argomenti
le code piaceranno solo a te
consumare l’oggetto una volta dalla coda
proprio come il blocco Java eq esattamente lo stesso
comportamento e c’è una sicurezza che questo è
non quello che vuoi, va bene anche così
sì sì, quindi inizierò il terzo a
sarà divertente se quando avremo più JVM
così carino che questo tizio sta provando a prenderlo
forse un consolato saggio invecchia così tanto
questo ragazzo sta già provando a prenderne
figlio prendere qualcosa così ho intenzione di provare
prendere da qui anche così questo ragazzo è
cercando di prendere due così questi due sono
cercando di prendere qualcosa e questo terzo
JVM offrirà qualcosa di interessante per l’attività
quindi facciamo questo solo ok
di loro prenderà e l’altro lo farà
stai ancora aspettando proprio così, succede
per essere quel ragazzo che è il vincitore così
ha preso l’incarico in modo che sia per questo che io
vedi che quindi questo ragazzo e ‘ancora bloccato
ancora aspettando così fino a qualcun altro
offre qualcosa di compito due e poi questo
questo ragazzo sarà proprio come i maiali intendo
bloccando q che conosci ma attraverso
più JVM
lo stesso comportamento transazionale lo farà
applicare in modo che anche gli spunti vengano salvati
è così e nel centro del menu sei
sto andando a vedere Q qui, questa è la chiave
che abbiamo lavorato in questo momento
niente abbiamo offerto qualcosa e noi
consumato offriamo qualcosa e noi
consumare è per questo che abbiamo visto così quelli
okay, sì, va bene, va bene così così
ricontrolliamo se è il kyle
qui prima lei non è qui, allora possiamo
ok sembra che non sia qui, quindi posso
dì tutto quello che ho, è registrato così
forse dovrei essere un po ‘più attento
così il multicast è solo per la scoperta dopo
MultiAir discovery millennium no
devono essere multicast dal modo in cui noi
supporto tcp / ip e anche per AWS se
stai eseguendo l’app app su AWS tu
non devi dirci niente che vogliamo
capire i nodi nel cluster
dopo la scoperta tutto è IP TCP
fondamentalmente unicast quindi diciamo te
avere dieci nodi cluster e rete
partizionamento accade così qualcosa è andato
sbagliato nella rete quindi così là
ci sono casi semplici e super-super
casi pazzi il caso semplice è questo
la rete è partizionata proprio nel
medio destro quindi lunghezza 5 o come 55 o
28 proprio la separazione pulita così il
la separazione pulita è più facile da gestire
ma ancora quando si entra in rete
il partizionamento è probabilmente possibile mantenere
correre in qualche modo, ma si deve sapere che
le cose sono in memoria, quindi significa che lì
sarà un po ‘funk alla fine
alla fine potresti
Potresti avere che puoi avere il
stessa voce aggiornata su entrambi e così prima
lascia che ti dica cosa succederà
prospettiva di gas nocciola così due separati
i cluster accadrà proprio come facciamo
dire che quattro a sei accadrà sarà 55 volontà
capita bene e allora così penseranno
che sono lì sono il gruppo
e altri ragazzi sono morti e giusti
alla fine il ragazzo risolverà la rete
e poi il cast nocciola lo scoprirà oh
In realtà ero parte di un cluster più grande
Dovrei unirmi a destra quindi di solito più piccolo
si uniranno a quello più grande, se lo sono
la stessa identica misura come 55 la più piccola
l’hash dell’IP si unirà al più grande hash
così perché quando stanno cercando
a vicenda vengono inviati anche gli hash
così così quando così chiamiamo questa fusione di
la divisione destra così quando l’unione
succede così devi farlo
venire complesso giusto così così perché stesso
le voci finiranno su entrambi e e
probabilmente saranno aggiornati nel
nel frattempo giusto così quando ti unisci così noi
devo aggiustarlo così ci sono built-in
le politiche per questo così come l’override
qualunque cosa tu abbia o ci metti solo non c’è
entrata per così tante politiche già
esiste ma se nessuno di loro si adatta a te
quindi stiamo andando ad agire che puoi implementare
una politica di fusione che stiamo per darti
le voci che vedrai
data timbro del sito o il valore di
la voce e stai andando a fare un
selezione per noi, ecco perché ho detto
alla fine sarà messa lì c’è
nessuna soluzione perfetta per quell’altro
puoi dire di sapere cosa fare quando la divisione
succede o quando tu quando il numero di
i nodi vanno sotto i 7 stop come il congelamento
l’intera cosa che non dovremmo fare per te
perché stai cercando di essere di più
coerente rispetto disponibile così la corrente
il comportamento è un comportamento di uno sguardo a
diventare disponibili non così quando dal
punto di riferimento quando capita
scegli di essere un ma quando non c’è p b
che scegliamo per essere forti
coerente quando non c’è rete
partizionamento di rete in modo che è al di là
il tappo questa chiamata così perché ho detto questo
perché così tutte le tue letture e le tue scritture sono
andrà solo al proprietario di
la voce quindi significa che non puoi
non posso leggere dati obsoleti a meno che tu
configurarlo in modo così così predefinito
la replica e tutte queste cose sono
asincrono e tutte le letture vanno a
il proprietario del proprietario, anche se tu sei il
backup di cui non riesci ancora a leggere
te stesso a meno che tu non abbia configurato come letto
qui leggi il backup
quindi avrei dovuto spostarmi un po ‘
più veloce ma um yeah fammi tornare a
diapositive perché ci sono alcuni dei
risposte già lì così va bene sarò
andare avanti molto più velocemente altrimenti sicuramente
rispondere a questa domanda va bene così è così
open source cinque megabyte singolo barattolo n
Dipendenza Maven amichevole basta usare Maven
è semplice, quindi cos’è il Sahara?
come partizioniamo i dati in modo sostanziale
c’è un c’è c’è un fisso
numero di partizioni nel cluster
la partizione è come un secchio o un segmento così
si siede di default 207 1 anno che possiamo voi
può cambiarlo duemilacinquemila
non importa davvero ma una volta
ha detto che non puoi cambiare bene mentre il
il cluster è ok, quindi è una correzione statica
un numero fisso e poi le tue chiavi
andando a piegare in uno di questi
partizioni quindi il modo in cui lo calcoliamo
è come hash la chiave e poi mod con
il conteggio Parchin sarà per un dato
la chiave ci darà sempre lo stesso
ID partizione quindi sappiamo per una determinata chiave
in quale partizione la chiave è n in
e poi andremo a quello andare
il proprietario della chiave e tutto questo
membrana il cluster definirà chi
possiede ciò che whoo-hoo ricorda di possedere
quale partizione quindi questo lo chiama
tabella delle partizioni interne, quindi non c’è
hai visto che non esiste un nodo principale
o come una posizione centralizzata di tutti
quella roba 0 ovunque siano tutti
peer e tutti sono quasi uguali 0
come ho detto quasi uguale perché il
il più vecchio membro il primo ragazzo nel
cluster ha un po ‘più di potenza perché
il membro più vecchio sa di più sul
cluster in un anno e in
e farà l’assegnazione del
partizioni quindi diremo che il nostro ti darà
queste partizioni a te e questo
domanda papà e tutta quella roba ma se
il membro più anziano lo farà
alla fine tutto questo membro morirà
questa è la natura e poi un altro ragazzo lo farà
battere tutto questo membro quindi sì, non lo è
come il ma quando si tratta di
la replica non è come i miei interi dati
Ripley sarà replicato a uno
l’altro ragazzo non è così se davvero
guardi l’immagine quindi questi sono i
posseduto le voci ma se puoi vedere il
blues o periferiche sono su entrambi i 22
osserva bene quindi l’idea qui è quella
quando il nodo muore, lo siamo già
partizionato ci piace molto equilibrato noi
non devo riequilibrare le cose così così
ecco perché non è come quello di questo ragazzo
sostenuta da quel ragazzo non è così
è più come questa partizione è così così
quindi parte il backup per questa partizione
questo ragazzo da quando lo avrai fatto
più partizioni per membro, quindi quando il
il nodo muore sei già in equilibrio
non c’è bisogno di riequilibrare le cose sì
dobbiamo ancora prenderci cura di
backup ovviamente perché il ragazzo è morto
e manca il backup okay così così
i gatti nocciola possono essere eseguiti come server incorporato
quindi è un barattolo per stampare il tuo web
file di guerra dell’applicazione e ognuno indossava un web
server può diventare un membro del
cluster in modo che è incorporato cast nocciolo
puoi anche essere eseguito come server client
posso dire oh no no non voglio il mio web
applicazione per contenere la nota di nocciola
dentro puoi dire che farò il cast nocciola
osserva come un cluster separato e il mio web
applicazione o dotnet o C
L’applicazione C ++ sarà una Klein
questa è una bugia architettura client-server
fondamentalmente entrambi hanno i suoi beni in cattiva luce
quindi non è così così sei tornato al tuo
domanda un calo arriva con due sapori
uno è come un
linea di click semplice che oh noes che parla
solo un ragazzo in un cluster e tutto
sarà propagato oltre da quello
ragazzo quindi è come se l’altro fosse intelligente
il cliente smart Klein sa esattamente dove
il dato è che il client intelligente andrà al
proprietario dei dati da qui
correggi, quindi utilizzerai smart
è quello predefinito, ma se ti piace
Probabilmente voglio dire 10.000 Klein
probabilmente sceglierai quello più semplice
perché ha solo una connessione giusta
ma se ne hai voglia, le centinaia vanno
l’intelligente si corregge così il cliente
dirà che faranno esattamente lo stesso
cosa guarda la chiave trova una partizione
ID e quindi guarda la tabella delle partizioni
e vedere le nostre ferite erano quelle partizioni
e poi vai direttamente da quel ragazzo
sì, accadrà che lo sia anche
le cose peggiori accadranno come a immaginare
così papà conosce il nostro pino così lo farò io
dirò ok ho perso la connessione così
chi è il nuovo proprietario Oh sembra il
il primo backup è stato quel ragazzo a cui andrò
quel ragazzo giusto o il tavolo delle patch
sarà ri-pubblicato da allora e poi
vai al ragazzo giusto ma anche peggio
come ho detto , aggiungendo più dati dei nodi
si muoverà quindi chiamiamo questa migrazione
delle partizioni proprio così la domanda
è così che fai una chiamata in un Wendy quando
la persona sta migrando, quindi cosa farà
Succede proprio così, dico una cosa simile
il cliente pensa o non importa
chi chiama chi effettua una chiamata la richiesta
entra e voi ragazzi vi devo, II
pensa che tu sappia che tu pensi
che io sono il proprietario ma non sono così
non andando a fare l’operazione così tu
l’operazione è rifiutata fondamentalmente e e
allora accadrà anche due cose
molti si aggiorneranno che tu sei
il proprietario o il cliente saranno aggiornati
dal vero nuovo proprietario, così sia
o uno di loro accadrà e
alla fine andrai al proprietario giusto
in modo da non potete voi non lo è
permesso di leggere dallo stesso anche se
ce l’hai adesso, ma puoi farlo
si può dire che sono la migrazione in modo che i mezzi
durante la migrazione le operazioni sono
bloccato ma solo per quella partizione il
il resto delle parti che ti piacciono se tu a
mille uno su mille sarà
migrando così il resto sarà giusto
fluendo bene così e la migrazione lo farà
sarà più lento a ridurre al minimo il
impatto giusto ok quindi alla fine api api
sarà lo stesso, ma il modo in cui inizi
l’istanza sarà diversa così sei tu
avvio del primo server del secondo server
se ti piace iniziare a notare nello stesso
jvm sei venuto a notare lo stesso
server così ad esempio nella nostra unità j
test facciamo iniziare cinque nodi e poi facciamo
faccio le nostre affermazioni su quelli è così
si inizia a rifiutare alla fine il
l’interfaccia sarà la stessa API sarà
puoi progettare per client e server
iniziare come nodo del server e poi
alla fine dite di sapere cosa non faccio
non mi piace questa topologia di layout integrata
Voglio tornare al server client e
poi devi solo cambiare una riga per ottenere il
il resto dell’istanza sarà fondamentalmente designato
quindi sì
Oh
okay, non stiamo davvero contando il
voci stiamo contando il numero di
partizioni stiamo dicendo oh quanti
le persone che possiedo e le tue e questo è
come è così se hai abbastanza dati
il che significa 100.000 è molto improbabile
che il tuo avrà più grande del
altro o più dell’altro, così sarà
essere molto ben bilanciato quindi dai dati
prospettiva di distribuzione penso che lo farà
essere alla fine uguali ma siamo ancora noi
ancora non non significa che andiamo
dì che stai scrivendo come a
roba di borsa e una mela è
sta avendo una buona giornata e tutto il tuo
la richiesta per la foto per quel segno di spunta è
andando a questo identico jvm tutto il
tempo così quando JVM sta diventando più caldo
quello può accadere ma voglio dire ma altro
di quello se si guarda la quantità di
dati è quasi sta per essere lo stesso in modo
diverso da come aggiungere nuovi nodi nuovi
la rimozione di un nodo sarà chiamata vocale
riequilibrare e anche lo sgombero causerà
riequilibrare quindi se ne hai tonnellate in più
stai usando la mappa come sfratto della cache
kicking in pulire alcuni dei dati
accadrà anche il riequilibrio, quindi tutto
deve essere in qualche modo hanno serializzabile
la voce non deve essere serializzabile
cosa, ma deve esserci un modo per fare
sterilizza proprio così perché alla fine
lo scriveremo attraverso il filo
l’installazione sarà una chiamata più grande quindi
prestare molta attenzione alla salvezza così
la tua rete è probabilmente molto buona e
il rendimento elevato non è un problema di solito
una latenza da cui si ottiene
civiltà quindi puoi imparare
sul cluster con l’API ascolta
per i cambiamenti di iscrizione e tutto il resto
roba buona
conosci la mappa distribuita e metti un cap
presto un po ‘ di roba tutto supportato sarò
veloce così multi mappa è roba facile q tu
sappi che roba già sono queste
non è davvero così elegante così sì abbiamo guardato
la mappa che blocca le cose per te
sappi che le cose così così sono così così
simile a Q ma a tutti i nodi
l’ascolto riceverà il messaggio così
è proprio come l’argomento JMS, quindi questo è il
codice no nient’altro va bene così gli eventi
puoi ascoltare chi sta aggiornando
cosa sulla mappa e Q’s va bene così
tu dici una semplice transazione API che puoi
puoi essere di supporto per la fase singola
fase si impegna a dire che questi sono i miei
opzioni di transazione ti darò un
eseguire la transazione o la coda delle transazioni
e poi fai le tue operazioni e tu
commit commit qui o rollback affinity
affinità dei dati Sarò veloce e lo farò
Finisci e poi se hai tempo lo faremo
fare più domande fino a quando il
chiavi sono gli stessi dati rimarranno sul
stesso nodo non ci interessa la mappa
nomi ci teniamo alle chiavi se tu se
vuoi avere gli ordini e le mappe
o origine i clienti sullo stesso nodo
devi trovare una chiave
è consapevole della partizione che può dirci
dove questo ragazzo dovrebbe vivere proprio così
sappiamo che è una partizione
la chiave sta puntando all’ID cliente
ciò significa che non usare il non usare altro
roba usa questa come chiave per trovare il
il proprietario va bene così xq il servizio regolare
Servizi esecutivi Java, ma lo sono
stanno andando a correre sui nodi così
puoi dire che il cast di Hazel esegue questo compito
su questo membro o eseguire questo test su questo
significato chiave particolare vai al
proprietario della chiave, perché vorresti
farlo perché sei
hanno ragione, così è così che fai
o puoi dire eseguire su ogni membro e
dammi una collezione come collezione
dei risultati quindi lavoreremo su un registro a
scenario che stiamo per aggiornare e
rimuovere un ordine da un cliente così noi
avere un oggetto cliente grande cliente
ci sono ordini al suo interno stiamo andando
per rimuovere uno degli ordini così è
la logica aziendale in modo da ottenere il
i clienti mappano bloccando la voce in modo che
nessuno può toccarlo mentre fai il tuo
lo stai facendo e poi lo farai
lo rimuoverai e poi ora
l’oggetto cambiato che devi rimettere
nel gruppo e lo sblocchi il
bloccare e sbloccare non è davvero necessario
diciamo che questo è richiesto per il nostro
caso aziendale come il requisito è
mentre tu stai aggiornando le cose
non voglio che nessun altro tocchi quello
il requisito diciamo normalmente
non c’è bisogno di tutto è atomico
già ma stai cambiando roba, facciamolo
Diciamo che il business richiede questo, quindi questo
sembra buono e semplice ma questo è questo
è problematico puoi dirmi cosa sono
il problema è qui di cosa si tratta è
sì, come è in realtà è molto di più
sì, la serratura pessimista è giusta per te
devo bloccare le serrature in qualche modo ma
ma vedi anche che ci sono quattro distributori
operazioni uno due tre quattro se tu
non so dove sia la chiave giusta per te
potrebbe fare per le chiamate distribuite
solo per fare questo puoi farlo
meglio dirmi il tuo modo possiamo farlo
meglio senza 40 chiamate possiamo farlo dentro
uno scatto ma tu ne farai uno
aggiorna così alla fine sì, così puoi farlo
è un compito di eliminazione dell’ordine di attività di eliminazione
partizionato consapevole quindi sappiamo dove andare
quindi la vertigine è l’ID cliente reale così
i suoi ragazzi prenderanno questo oggetto call e
inviarlo al proprietario dell’ID cliente
ed esegui questa chiamata laggiù
così ora i dati sono lì così ma ancora
non perfetto perché non possiamo ancora ottenere
liberarsi delle serrature perché è un’altra
filo devo ancora ottenere le bugie
in qualche modo ottenere le serrature per essere sicuro così può
lo facciamo meglio sì possiamo che è che è
chiamato entra processore così entra
anche il processore fa parte della cassa
specifica che è enorme per il java caching
standard, quindi quello che stai facendo è
questo così abbiamo creato l’ordine di cancellazione che è
un processore Android e tu nel
metodo di processo che stai dicendo che stiamo andando
per darti l’oggetto cliente e poi
fai tutto il tuo stop lì e poi
restituire è il codice è più semplice
e questo ti dà un blocco implicito
la voce in modo da non dover avere un
blocco esplicito su gentry quindi entrata
processore i nostri processi sono garantiti
eseguire sul nodo che possiede la voce
e ti dà il blocco implicito di te
può essere sicuro che nessun altro si sta toccando
la voce mentre si sta toccando possibile
è garantito e questo è il
miglior modo di aggiornare una voce così
il servizio executive è carino ma non del tutto
e il condensatore è la strada da percorrere così
questo vuol dire che ci preoccupiamo della creazione di grafici
i dati in modo che possiamo ridimensionare ma anche
ci interessa come aggiorniamo la voce
e il processore di ingresso è il modo migliore per
fai questo come puoi immaginare
il processore di ingresso è la sua operazione di ingresso
giusto così e questo è come lo chiami tu
di ‘hey Hisoka mi ha dato i clienti
mappa qui è il mio processo di ordine di cancellazione entra
il processore viene eseguito sulla chiave questo è il
chiave questo è il pass per l’ingresso, signore, basta andare
e corri così che l’equipaggio puoi andare
per interrogare i clienti hazel, diciamo te
avere questi campi che vuoi ottenere
attivo ed età inferiore a
qualunque sia il 30 30 questo è come lo fai tu
puoi aggiungere indici come hai aggiunto tu
nei database in modo che il tuo corso possa essere così
più veloce ma poi puoi dire valori di mappa
e passare come un SQL dove clausola suo
succede andrà in parallelo vai al tuo
note usano l’indice se ce ne sono e
ottenere loro di ottenere le cose che tu
voglio davvero e quindi combinare i risultati
indietro e dargli la persistenza è
la sua ipotesi è tutto in memoria ma nel
caso di distribuzione della cache, vedere questi sono
le tue applicazioni web e questi questi
sono i tuoi database che potresti potresti
avere più database proprio così
relazionale Oracle MySQL o no SQL e
i suoi gatti possono sedersi proprio in mezzo così
in questo modo il tuo tocco con cui stai parlando
Hazel gettato ed i suoi ospiti saranno
parlare con questi ragazzi oltre sembra così
fondamentalmente stiamo incassando tutti i tuoi dati
strati e, naturalmente, stai per dire
So come parlare con i gatti Hazel ma come
è la casa come parla il cast nocciola
ai miei database questo è come
è così se non sai come accedi
il tuo database ma possiamo farlo se scrivi
il codice se si implementa la mappa dell’archivio delle mappe
loader weekend ti chiamerà per parlare
il database così quando è il momento giusto
diciamo che ci mappa che metti come parte
del put chiamerà il tuo negozio
l’implementazione ti darà la chiave
valore e ti chiederemo di scriverlo
ovunque tu voglia scrivere, potrebbe
sii, è possibile che tu sia
scrivere su un database relazionale o no
Database SQL non ci interessa naturalmente noi
avere plugin per NORTHCOM MongoDB attivo
altri ma hai ancora la libertà di
implementare la logica aziendale qui
e vai in qualsiasi negozio che ti piace così si
questo è anche quello che siamo così
così abbiamo quando quando la prima volta
potrebbe toccare la mappa che chiameremo
questo carica tutte le chiavi così potresti essere
caricando tutte le chiavi o alcune delle
le chiavi a cui tieni l’ aspetto più corretto
come le chiavi più calde così alla fine dentro
diciamo che lo si carichi come 10
milioni di 100 milioni ok in questo
Verranno caricati 10 milioni di chiavi
in parallelo dai nodi nel cluster
quindi diciamo che hai 10 note ciascuna
il carico di un milione di così in parallelo
caricherete e riscalderete il
contanti e poi te ne vai quando tu
fare un put che chiameremo questo quando
quando non abbiamo la voce che stiamo andando
chiamare questo per ricaricarlo dal
dall’archivio dati effettivo dell’archivio dati così
la persistenza può essere giusta o giusta
attraverso di dietro significa esattamente attraverso
significa che fa parte dei ritorni put put
dopo che il negozio dietro lo significa
ritornerà prima di toccare quel codice
ma ogni 10 X o 10 o X secondi
possiamo capire che stiamo andando a noi
andando a eseguire un’operazione batch per lo svuotamento
tutto il relitto della sporcizia nel database
questa scala è pazzesca bene anche se il
il database non è raggiungibile, va bene
li stiamo andando a segnarli
come sporco fino a quando la connessione è
stabilito
okay, mi farò finire e poi lo è
in realtà quasi siamo quasi arrivati
non hai parlato molto della configurazione
perché speriamo che non avrai mai bisogno
che odio la configurazione, quindi ragazzi
arriverà con il più significativo
e valori predefiniti, ma nel caso sia necessario
questa è la rete è così che noi
definire chi sono i membri nel
cluster in modo che possiamo trovare altri ragazzi
e questo è l’intervista questo è il
questo è il modo in cui definiamo quale porta legare
quale IP definito dal tuo computer
probabilmente avrà più di un IP e
quale IP vuoi usare nocciola?
questo è dove lo definisci così
il modo in cui ti piace è molto possibile in
un ambiente cluster a cui inizia una nota
192 un’altra nota inizia alle dieci e loro
non parlare tra loro e poi tu
cercare di capire come perché è così
fondamentalmente dire hey quando inizi
non vedo l’ ora di 192 indirizzo e
leghiamo a questo perché conosciamo quel mazzo
ci stanno parlando tra di loro bene
così / mappa si definisce il numero di backup
backup o backup asincrono che puoi
avere uno sincrono asincrono
back up to ton TTL per le voci e
tutto ciò che definisci un negozio di mappe
di cui abbiamo parlato di Fermat non lo facciamo se
non devi definire puoi dire
tutto ciò che inizia con questo verrà utilizzato
questa configurazione quindi proviamo a usare wild
carta per quanto possibile per semplificare
la configurazione sì è un singolo java
file jar che può essere eseguito come incorporato
server o un server remoto e consente
per fare il caching distribuito o
accodamento messaggi in modo da darti tutto
queste strutture e servizi di dati
sì grazie mille
Please follow and like us: