
ciao a tutti, mi chiamo Patrick, lavoro
a Google e oggi parlerò di a
pochi sistemi che abbiamo costruito per i nostri giochi
i database che usiamo gli errori
che abbiamo fatto e di come abbiamo ottenuto fuori di esso
ma prima lascia che ti chieda una domanda
ti piace giocare perché penso che tutti noi
fare perché è una cosa naturale noi
impara cose che ci alleniamo e possiamo anche
interagire tra loro c’è un grande
componente sociale al gioco che impariamo
trattare con altre persone ed è anche
buono per noi per trattare con altre persone o
i nostri animali per esempio ed è quello che
facciamo qui a rouga facciamo giochi sociali
e i giochi casuali, quindi indirizziamo gli utenti su questo
normalmente non giocare ragioni di videogiochi
come mia madre , ama giocare a uno di
i nostri giochi e quei giochi sono per
istantaneo come il mondo dei mostri dove tu
hai il tuo bellissimo giardino e te
può aiutare i tuoi amici e con loro
giardino e aiutali a innaffiare il loro
piante o ceneri di diamante che è il nostro massimo
titolo di successo in cui tu hai che abbiamo
alcune gemme su iPhone o iPad e
allora devi fare clic sui colori
sono gli stessi che scompaiono di nuovo
vieni suonato per 60 secondi e
prova a leggere i punteggi più alti dei tuoi
amici quindi ora vai alla parte tecnica
di quei giochi che forniscono alcuni
sfide per noi e per darti un
contesto dei numeri di cui sto parlando
circa è mensile utenti attivi per
Diamante là così che è un numero di
utenti che giocano a quel gioco in questo modo
mi ha dato un sacco di 30 giorni e questo è il
numero di utenti che giocano a quel gioco
ieri, quindi, cosa significa?
termini di più il nostro genere di cose è
richieste al secondo in modo che si riducano
a seimilacinquecento automobili per
secondo per la regola del mostro di gioco loro
è entrato attraverso il back-end e quello
potrebbe non essere un grosso problema in generale ma
nel nostro caso d’uso è un problema
per il database
e il motivo per cui è giusto
avere che significa praticamente tutto il
richieste o diciamo solo la maggioranza
di richieste che devono essere scritte
al database quindi il nostro problema più grande
sta ridimensionando i diritti per rendere il
database funziona con quello e lo abbiamo fatto
quindi in diverse iterazioni su più
diversi giochi cerchiamo di evolvere nel nostro
architettura per farlo funzionare e
darti un’idea di come se non lo avessi fatto
sapere come funziona la configurazione classica per noi
abbiamo un utente nel posto in cui si trova
Facebook su un desktop fa clic su un gioco
e carica il client flash
parla al nostro gioco di back-end e tutto il
i colloqui stanno segnalando il back-end che è
importante per gli analisti di business in modo
possono fare alcuni dati con esso migliorare
i giochi eseguono roba di test IP del genere
lo stesso che abbiamo per i giochi iOS
quindi i primi due giochi che hanno
costruito che era in realtà prima del mio tempo
erano corpi cerebrali e bolla Island e
hanno funzionato bene su lampada in realtà no
esattamente la cosa che hanno usato nginx ma um
ed è un po ‘difficile da pronunciare così
linea di fondo è stato il mio sequel fa scala se
hai guardato i numeri prima da
Diamante: quella cosa in realtà funziona ancora
sul mio sequel e funziona bene così dico
per alcuni casi d’uso
sicuramente ridimensiona se necessario
scrivi persone se hai un ingegnere
che imposta la macchina in modo corretto che
ti dà macchine veloci e configura
loro in un modo che voleranno e se
hai ingegneri che sono proprio intelligenti
domande e pensa a come inserire
dati e come trasportano i dati senza
uccidendo il database che ora sta passando a
un altro gioco il prossimo gioco Monster World
hanno deciso di costruire questo su ec2 in
la nuvola per essere in grado di gestire
grandi picchi nel traffico perché Facebook
può succedere che all’improvviso il tuo
il gioco passa attraverso il tetto e loro usano
rotaie invece di PHP, ma il mio sequel era
ancora lì e questo è un equo
installazione standard che noi
hanno iniziato con il mio sequel ma
inizialmente in corto perché li conoscevano
dovevano sparare alla fine così volevano
fallo presto così ottengono quello
problema tecnico fuori dai piedi così
c’è una grande storia su come questo gioco
scala e quali erano i problemi e i nostri
ingegnere capo sì / ha una grande storia
e penso che lo chiami per sei settimane
l’inferno e ha un sacco di dettagli cruenti di
cosa è successo esattamente ma sono solo
dandovi l’essenza di esso molti nuovi
blocca il primo fusibile in realtà
abbastanza facile da gestire e loro sempre
soluzioni trovate per andare in giro, ma
alla fine hanno finito con qualcosa
così ora immagino che tu abbia due o
tre persone che hanno bisogno di eseguire questa cosa
e anche scrivere il codice backend così
quella è una classica morte di cosa siamo
parlando di così e quelle due persone
devono scrivere il codice di produzione fare avanzare
in un gioco e migliorare il gioco ma
anche eseguire questa cosa su ec2 e il prossimo
il passo è così il cappello è di otto cortometraggi e
ancora non sarebbe al passo con il
diritti quindi cosa ho iniziato a fare dopo
quello è bene che non lo sanno
ha iniziato a pensare bene alla successiva logica
passo sarebbe andato da otto a
sedici anni, ma se si aggiunge, se si somma il
anche gli schiavi si finisce con quello che è
quel 16 e 32 sicuramente due macchine
hai avuto bisogno di gestire e se uno va
fuori un maestro va fuori devi
commutare allo slave e venire a
nuova macchina quindi è molto
lavoro operativo e così risulta
il mondo dei mostri era un caso d’uso diverso
non era un gioco arcade quindi la lezione
imparato per me personalmente qui è arcade
i giochi non stanno creando giochi come mostri
il mondo è considerato il traffico e il
backend e le basi di dati in modo che
capito bene questo non è andare a lavorare
se vuoi piacere, passa un po ‘di tempo
in realtà la codifica oltre alla semplice negoziazione
con rischi operativi quindi la luce
che un tunnel che hanno visto alla fine
era Redis
perché Redis è estremamente veloce che avevano
giusti problemi giusti così necessari per affrontare
con diritti ma è anche duraturo in alcuni
senso non tanto quanto il mio seguito ma
puoi averlo persistente se vuoi
quindi quello che è fuori dal fare sono loro
ha iniziato a spostare le parti lente fuori
leggere il mio sequel in Redis
specialmente le parti che se guardi
un gioco di formazione che pianti normalmente
qualcosa nei mostri è un mostro
giardino così pianti qualcosa che tirerà
il tuo raccolto che lo pianti come
questo ciclo e questo è ciò che ha causato il
la maggior parte del traffico, quindi l’hanno spostato verso
Redis e poi gradualmente spostato di più
e più li e questo è stato male
alla fine ha salvato il mondo dei mostri di gioco
nel back-end e quindi potevano muoversi
e iniziare a mettere a fuoco più e altro
roba così il prossimo gioco è quello che
in realtà ha funzionato su si chiama felice
ospedale e da quello che ho imparato
tutti i problemi che hanno avuto in un cloud e
bisogno di avere tonnellate e tonnellate di
macchine e avendo così enorme
sovraccarico operativo che volevamo andare
dedicarlo perché nella mia comprensione
il cloud era troppo lento per quello che
ci è costato
c’era come IO era terribile e il
Le CPU non erano le più veloci e loro
sono costosi e costosi ma noi
volevo macchine più veloci quanto noi
potrebbe diventare grasso che dovrei essere
veloce la rete dovrebbe essere veloce così noi
non avere a che fare con questo terribile
latenze tra le applicazioni di
affitto e il database perché il più alto
il viaggio di andata è il più lungo
l’eventuale tempo di risposta arriverà
se apri più di una query
quindi abbiamo deciso di andare con Redis e noi
si avvicinò con questo così l’idea era avere
pochissime macchine ma grandi macchine e
basta avere tutto il più velocemente possibile
e abbiamo archiviato tutti i dati invece di in
un classico modo di prendere la bicicletta
i dati degli utenti e gli utenti ne hanno felici
ospedale per molti dei pazienti così invece
di mettere il paziente qui
e le stanze dappertutto e l’utente
qui ma poi abbiamo bisogno di usare l’ utente
camere
devo andare qui attraverso tutte le stanze
e guarda in basso e poi hai bisogno del
paziente scorrere qui avremmo
un utente composto in modo da avere un registro
chiave i Valiants già hash e
tutto ciò che appartiene a un utente è
là dentro che si è rivelato essere veramente
potente perché potremmo facilmente muoverci
quell’utente in giro tra gli ambienti
dalla messa in scena alla produzione e all’azione
per impatto e forza che era estremamente
buono per il debug per test perché
potrebbe avere solo un mucchio di file JSON
o file llamó appena ripristinati
tua sorella per il tuo utente di staging per
istanza e vedere il mondo come il
utente che ha avuto un dollaro giusto e così e
anche in caso di cortocircuito è abbastanza
facile perché devi scegliere a breve
una chiave e non devi fare a meno di tutto
anche i tuoi modelli e quindi stavamo bene
e la famiglia andava bene, ma noi
si sono imbattuti anche in alcuni robot e quelli erano
quelli interessanti
prima di tutto pronto a fare
qualcosa di strano perché lo faremmo
aspettavo che la crescita della memoria fosse a
lineare alla crescita di nuovi usi, a
mappare correttamente ogni nuovo utente è certo
quantità di memoria e dovrebbe crescere
linearmente lo ha fatto fino a un certo
punto e tutto ad un tratto e molti leggono
le sue ragazze della memoria hanno appena passato il
tetto
e non sapevamo veramente cosa fosse
accadendo e non potremmo davvero
riprodurlo in uno sviluppo o messa in scena
ambiente stava solo accadendo di
produzione così alla fine e anche noi
capito se si sarebbe ripristinato pronto
timbro in un database Redis vuoto quindi
consumerebbe molto meno memoria di
l’ attuale database di produzione lo ha fatto
che è iniziato diventato un problema perché noi
stavano lentamente esaurendo la memoria sul nostro
macchine che pensavamo avrebbe avuto
per forse mezzo anno o un anno
un’altra cosa che il viaggio fa è tutto a
all’improvviso avevamo bancarelle nel nostro sistema tutto
il modo attraverso la pila così in alto
e se guardi i tempi di risposta da
la tua domanda e all’improvviso II
che è in stallo per una seconda risposta
i tempi salgono e poi si riducono di nuovo
e qualche tempo dopo , la stessa cosa
sarebbe successo e stavamo guardando tutto
le cose e tutti i segnali che c’erano
lì e potremmo
capito cosa fosse fino a quando uno di lei
gli ingegneri hanno detto bene qualunque cosa sia
ha un orologio e si scopre che lo era
periodico cosa stava succedendo in quelli
bancarelle così come risulta che c’è un
scenario in quanto il rosso è il
sfondo sicuro per la forcella che esso
può bloccarsi fino a un secondo così
questo è quello che stavamo vivendo
e il problema era anche che avremmo corso
quello sul nostro database principale
dump di sfondi per i backup anziché
lo schiavo quindi lo abbiamo spostato al
schiavi e quel problema è stato risolto ma
alla fine non potremmo più fare discariche
e il primo anno il trucco veloce è sempre
assicurati di controllare se il tuo
i backup esterni al sito funzionano davvero
e in realtà sono coppia e in realtà
avere una certa dimensione in memoria da fare
certo che ci sono perché per noi
hanno appena iniziato a scomparire per fortuna
li stavamo monitorando, quindi cosa è successo
Penso che sia stato il mio fraintendimento
come funziona la copia e la scrittura perché io
pensato bene, Redis sta aprendo un processo
e poi usa il diritto di copiare per scrivere
fuori la discarica dei suoi dati in modo che mai
dovrebbe raggiungere il punto in cui usa Redis
il doppio della quantità di memoria che esso
in realtà ciò sta già usando ho pensato
quello non accadrà mai come risulta
sotto un certo carico questo è in realtà
possibile quindi quello che è successo a noi è il
lo scheduler del sistema operativo è iniziato
uccidere quel processo di backup prima di esso
è stato fatto scrivere così che è il due il
il più grande ha scritto ciò che abbiamo colpito con quel gioco
ed è stato terribile perché ora abbiamo avuto
nessun backup e avevamo un maestro nel suo
schiavo ma se qualcosa è successo a loro
non erano più persistenti se
qualsiasi cosa fosse accaduta a loro , avrebbe perso
tutto quel ada così dopo che ne ho fatto un po ‘
piangere in realtà è stato davvero triste per
che non ero nemmeno sicuro se lo fossimo
in realtà vengono licenziati per una prodezza come questa
a causa di penso che sia stata colpa mia
comunque non sono stato licenziato e siamo venuti
con una soluzione che chiamo ripristino
chiediamo cosa abbiamo effettivamente fatto noi
iniziato l’archiviazione degli utenti perché noi
hai immaginato un gioco sociale che potresti avere
molti utenti di zombie come li chiamo
iniziano a giocare una volta e
non tornano mai, ma lo fanno ancora
occupare spazio nella tua memoria o tu e
anche gli utenti iniziano a giocare per 20
minuti non lo fanno, quindi non suonano
per un paio d’ ore e poi arriva
torna indietro e gioca ancora ma nel frattempo
nella maggior parte del tempo non ne hai bisogno
utenti a meno che alcuni dei loro amici lo siano
interagendo con loro così che cosa facciamo noi
archivierà tutti gli utenti e solo quando tu
iniziato a giocare, li caricheremo da
disco in Redis poi avrebbe giocato
lì è così essenzialmente come una scrittura
attraverso la cache si può pensare di esso che
modo, ma dopo che abbiamo gnocco si scrive
su disco di nuovo e che ha funzionato notevolmente
bene perché invece di avere milioni
e milioni di utenti nel tuo registro
basandoti hai solo bisogno di poche centinaia
mille fondamentalmente per l’utente che
in realtà giocando contemporaneamente bene e
alla fine lo trasferì al negozio di dischi
che è un ramo sperimentale di Redis
che non è mai arrivato alla produzione e lo è
non ufficialmente supportato ma siamo finiti
usandolo e funziona davvero bene per noi
iniziamo persino a scriverne una versione
che invece di scrivere su disco scrive
a s3 ma non l’abbiamo mai provato in
produzione così in movimento nell’evoluzione
dei nostri giochi è stato chiamato il prossimo
terra magica che era una città medievale
tipo di costruttore di cose e il ragazzo
anche se chi doveva progettare quel sistema
ha lavorato precedentemente sul mondo dei mostri
e ha deciso di andare stato e qui
in una grande idea di come cadetti naturalmente a
Dichiarazione di Captain Obvious ma
essenzialmente voleva liberarsi di
database nel senso in cui lo stavamo usando
in modo che ogni detto bene lo facciamo stateful e
scriviamo come tre nel back end noi
aggiungere a un tre come il nostro deposito e corriamo
tutto su ec2 quindi nessun ridimensionamento del database
e scrivi problemi perché se lo sei
stateful possiamo scrivere a tre
a volte se vuoi non dobbiamo
esegui le scritture direttamente tutto a posto
può scaricarli e inviare qualche stato
per un tre e decise di costruire in
Erlang per vari motivi prima di Erlang
è noto per essere eccellente
accento informatico distribuito che
concorrente
informatica ed è davvero economico in
Erlang per ottenere nuovi processi giusti
perché non sono processi di sistema così
puoi avere migliaia di migliaia
forse milioni di processi di modellazione
macchina e se guardi a quello stato
contesto vedrai perché questo è importante
perché diamo un’occhiata a come funzionerebbe
nel back end se inizi a giocare a
gioco che vieni su Facebook, accedi al
carica la pianta flash e i problemi a
accedi o imposta la chiamata a un coordinatore
nota che gli assegna un processo di lavoro
risposta una che poi acquisisce molto
per assicurarsi che nessun altro stia scrivendo
quell’utente su s3 in quel momento e poi su di esso
carichi che recuperano i dati da s3
lo carica in memoria e lo tiene lì
e da allora in poi il cliente continua
parlando con quel lavoratore e tutto il
i diritti vanno direttamente lì e il
sincrono sullo sfondo anche noi
scrivilo a tre in modo che non lo facciamo
perdere la maggior parte dei dati nel caso
tutto muore e funziona logout
fondamentalmente in Reverse la desciption
scaduto in qualche modo si ottiene il blocco
rilasciato e si scrive l’utente di nuovo ad un
flusso e questa è una soluzione eccellente
e penso che sia notevole da quelli
due ragazzi che l’hanno costruito perché usa
pochissimo servizio su ec2 e lo è
stabile e scala molto bene io
penso che a un certo punto sono riusciti a ottenere
l’intero gioco attraverso una sola applicazione
server ma era solo per vantarsi
diritti che non fanno questo in
la produzione il più delle volte è così
tutti sanno cosa è lo Spartan di Facebook
il progetto peggiore di cui Facebook fa parte
Progetto nel modo in cui ho capito che lo era
essenzialmente che Facebook voleva spingere
HTML5 mobile e ha voluto creare un app
memorizzare su iOS e Android
le applicazioni hanno ragione quindi l’ unica cosa
potevano farlo naturalmente
viste web all’interno dei loro iOS e Android
applicazioni dove potrebbero essere lanciati
altre app e mostrale così e poi
vogliono avere giochi mobili che sia
perché la partnership con noi così l’idea
era scrivere un gioco per cellulare
e abbiamo deciso di fare un’estensione
magico e si chiama Madeline
Isola il problema c’era il che
le linee che ci sono state date erano solo due
la gente alla scadenza che ci è stata data è
in più di settimane invece di mesi così
Ho iniziato ad innervosirmi e lo erano
parlando di numeri enormi nel traffico previsto
Stavano dicendo che non lo so
il in milioni nella prima settimana
e non so di essere stato enorme, quindi
dopo sono stato davvero confuso perché
Eccomi, eccomi
c’erano due persone che prodotto
manager l’altro sono io di cui abbiamo bisogno
costruisci un gioco html5 su mobile che è un
impresa da solo, ma ho anche bisogno di scala
e assicurarsi che gestisca il traffico
su una scala che non è mai stata vista nella nostra
compagnia prima che finissi per usare nodejs
perché ho pensato bene da quando sto usando
già in un client e probabilmente
assumerà nuovi programmi JavaScript per
aiutaci che alla fine abbiamo fatto noi
ha avuto alcuni ragazzi fantastici per tirarlo fuori così
Ho deciso di non fare scacchi nella parte posteriore
il suo muro in modo che possiamo passare senza interruzioni
avanti e indietro così che è stato risolto così io
avevo bisogno del database che richiede molto
piccolo sforzo operativo e quello
scale senza sharding quindi non ho
per affrontare solo ne aggiungo uno in più
in realtà per aggiungere altri due in scala con
il problema e quello ha il master
replica e sì così e potrebbe essere
questo deve essere il bambino più veloce al mondo
blocco perché anch’io stavo rimproverando
potremmo scrivere nella memoria locale ma
potrebbe anche avere un salvataggio sincrono
quindi andava bene doveva essere
affidabile e nessuna sedia è in realtà da allora
il suo evento è abbastanza buono
aggrappandosi e in attesa di a
risposta al database quindi ho scelto di reagire e
è stato abbastanza buono per questo sì
ho bisogno di ec2 e ho detto che va bene
abbastanza per ora
e questo risulta essere stato abbastanza buono
per bene perché ecco il kicker il
progetto non è mai veramente decollato in una scala
quella
pensato che sarebbe stato così per un
misura in cui è stato fermato e
abbiamo rilasciato il gioco open source come
mobile come l’attenzione di ritenzione iam in
tasca Island in modo e tutti ne aveva bisogno
ma comunque con quello
tempo operativo che ho avuto con reagire
ho alcune lezioni che ho imparato prima
di tutto ciò che ha usato reagire è una semplice chiave
negozio di valore con cui non ha niente di speciale
non ho fatto nessuna struttura di dati di fantasia
strutture dati complesse o complesse
domande che verrebbero con esso
essenzialmente conserverebbe qualcosa
così e quindi la mia esperienza in
tutto è Ryoga generale era un carro armato che
è abbastanza veloce è stato molto veloce e
atteso ed è super robusto come
lui era poco o nessun pericolo operativo
semplicemente fantastico ed è stato esattamente
in realtà quello che hanno detto sarebbe stato così
era davvero contento di questo e del
il fatto che tu non abbia un singolo punto
di fallimento nel tuo database è solo
incredibile perché non voglio alzarmi
alle 4 del mattino perché il
il maestro è appena morto ora ho bisogno di passare a
lo schiavo e impostare un nuovo maestro e
affrontare questo con via diciamo solo io
ho 5 note se muore una nota probabilmente
sarà solo dormire attraverso di essa e il ripristino
la mattina starò bene
un altro apprendimento è che io uso spit cast come a
motore di archiviazione e che potrebbe non avere
è stata la migliore idea ma non ho mai dovuto
pagarlo perché non lo siamo mai
raggiungere la quantità di utilizzo ma lo farebbe
sono diventati un problema via perché il
u-men you Keys ha bisogno di adattarsi alla memoria e
se ricordi quello che ho detto prima
su un sacco di usi zombie che abbiamo
e un sacco di persone che si asciugherebbero
questo gioco html5 per cellulari o è così
bello e poi non tornano mai più
quindi c’è un sacco di utenti come questo e
li tieni in memoria come chiave
almeno così pensavo alla fine
sarebbe diventato un problema
fortunato per me non è mai successo e sì lo farei
questa è una versione precedente di reagire io
non so se è vero per il nuovo
versioni di reagire così che cosa volevo fare
Volevo eseguire il backup del mio sistema e se
quello che ho fatto riguarda solo MapReduce
su un intero secchio
essenzialmente ciò che reagisce è che andrà
attraverso tutte le chiavi e ricorda reagire
è un sistema distribuito quindi ha dovuto
coordinare molto e poi restituito tutto
quelle chiavi e ho quasi ucciso un ammasso
così, ma non lo ha fatto sono stato fortunato
lì e questo è un problema di sviluppo
o meno di un problema di produzione ma
localmente, specialmente in America, il limite è
abbastanza basso nei 200 e reagire quando
tu dici che reagire è iniziato, viene e ha detto
bene dovresti regolare il limite e io
era come si, va bene perché ho tenuto
connessioni con connessioni in India
posso accettare che non stavo pensando file
descrittori che via significa scrivere a
tu perché non pensavo come leveldb
per esempio funziona con molti file
aprire i file che scrive su tutto il
tempo quindi il problema era anche se
dice che dovresti aumentare il limite
non ti dice che non è iniziato
HSS è andato bene, ma non sta dicendo che
non potrei iniziare sullo standard
devo effettivamente passare attraverso la serratura
file per capire che uno e qui
la mia storia preferita, quindi Cooney ha davvero
usato reagire bene così effettivamente penso
la storia è nuova è una novità da fare bene così
con il veicolo è possibile allegare a una nota
e prendi una conchiglia e puoi cambiarti
può chiamare funzioni e cambiare moduli
e cambiare i codici è perché è
Erlang ma quello che è successo è quello che io
normalmente cosa normalmente escono da un
La shell di Erlang è digitando due volte Ctrl C
quindi cosa succede se lo fai così ogni
Ho capito che shell li hai appena uccisi
fuori e così ho ucciso un’intera messa in scena
cluster prima ho iniziato a capirci qualcosa
stavo già aggiornando
produzione e penso di averne ucciso uno o
due nodi finché non lo capisco così
si, questa non è una cosa, quindi come sto?
Volevo andare sì la prossima cosa che noi
ha iniziato a lavorare su monster mobile
ricorda quel gioco agricolo che ho parlato
inizialmente su di esso papà aveva il ridimensionamento
problemi con il mio sequel costruiscono il mio sequel
e alla fine si trasferì a Redis così questo
questa volta ho avuto un sacco di tempo con me
mani
per ottenere questo giusto così ho pensato ma
bene fino ad ora penso di essere ancora buono
quindi ho guardato davvero come l’altro
i giochi per cellulari stanno facendo questo perché
è stato il nostro primo titolo mobile per l’agricoltura in
questo senso su iOS su cui stiamo lavorando
quindi ho guardato altri titoli di Singha
e altri concorrenti come sono
gestire il protocollo su come comportarsi
connessioni instabili come affrontare
i clienti sono offline come si comportano
che non puoi avere la stessa richiesta
modello che un sacco di desktop
i clienti hanno dove piace ogni piccolo
l’azione innescata è una richiesta al
server ma puoi farlo solo con a
connessione interrotta su 3G o in tutto solo
l’impostazione di una connessione HTTP è abbastanza
caro non puoi andare in giro e basta
imposta connessioni HTTP tutto il tempo
non è solo andare a lavorare e anche
guardato come funziona barare perché
normalmente su Facebook guarderemmo
la parte posteriore e ha appena convalidato
tutto sul retro perché se a
molto controllo laggiù e su iOS
le persone che hai una scrivania e gente locale
posso scrivere su questo e così guardarli
barare e si scopre che non lo farebbe
attacca il protocollo degli imbroglioni che
di chi video ti vedresti
YouTube attaccherebbe il locale
memorizzazione e modifica dei valori di configurazione
e altre cose funky come quella lezione
ho imparato per me è stato prima di tutto lo so io
il cliente non è un client flash, ma io
ho anche imparato che il mio mostro è davvero mobile
il gioco non è un gioco arcade quindi io
non potrei semplicemente copiare e incollare ciò che è nostro
gioco arcade mobile stava facendo così
essenzialmente stava chiedendo
Quella domanda ho bisogno di un database a
tutto quello che non volevo diventare stato perché
non si aspettava di avere un sacco di
traffico perché ecco la cosa su un
dispositivo iOS hai il pieno controllo quindi
puoi avere solo un disco locale così tu
puoi mettere in batch i tuoi aggiornamenti , diciamo una volta
un minuto o andare più in alto a seconda di
le richieste del gioco in modo da non farlo e
essenzialmente così il database che cosa
significa che il database non ha bisogno di essere
veramente veloce possono essere piuttosto lento esso
deve solo essere estremamente robusto ma
puoi anche prenderlo un po ‘
inoltre, e dillo bene, mantieni il
indietro e semplicemente non fare la cosa base
perché è meraviglioso ma aggiunge un
un po ‘di complessità basta tenerlo
semplice e apolide e basta scrivere
direttamente a s3, basta avere Erlang o
nodejs o qualunque cosa sia una via sottile
attorno a a3 e basta leggere e scrivere
per 3m falla scuotere controlla alcune cose così
quel pensiero mi attraversò definitivamente la mente
e non sono sicuro di cosa faremo
questo, ma sicuramente non è il mio
mente e ho anche dimenticato che lo schiaffo era
ci dispiace la prossima domanda che ho
si avvicinò ma ho anche bisogno di un back-end così
nel tentativo di ottimizzare me stesso fuori da un
lavoro
Potrei davvero provare qualcosa di simile
e in sostanza non hanno data base in
per questo ho bisogno di ridimensionare no
sovraccarico operativo
no indietro e ho bisogno di scrivere e solo
gestire tutto dal client in a
modo intelligente a questo punto non sono sicuro se
questo è effettivamente possibile ma lo farò
di certo ci penso e penso
Ho finito davvero presto oggi, okay
questo è tutto ciò che ho
a Google e oggi parlerò di a
pochi sistemi che abbiamo costruito per i nostri giochi
i database che usiamo gli errori
che abbiamo fatto e di come abbiamo ottenuto fuori di esso
ma prima lascia che ti chieda una domanda
ti piace giocare perché penso che tutti noi
fare perché è una cosa naturale noi
impara cose che ci alleniamo e possiamo anche
interagire tra loro c’è un grande
componente sociale al gioco che impariamo
trattare con altre persone ed è anche
buono per noi per trattare con altre persone o
i nostri animali per esempio ed è quello che
facciamo qui a rouga facciamo giochi sociali
e i giochi casuali, quindi indirizziamo gli utenti su questo
normalmente non giocare ragioni di videogiochi
come mia madre , ama giocare a uno di
i nostri giochi e quei giochi sono per
istantaneo come il mondo dei mostri dove tu
hai il tuo bellissimo giardino e te
può aiutare i tuoi amici e con loro
giardino e aiutali a innaffiare il loro
piante o ceneri di diamante che è il nostro massimo
titolo di successo in cui tu hai che abbiamo
alcune gemme su iPhone o iPad e
allora devi fare clic sui colori
sono gli stessi che scompaiono di nuovo
vieni suonato per 60 secondi e
prova a leggere i punteggi più alti dei tuoi
amici quindi ora vai alla parte tecnica
di quei giochi che forniscono alcuni
sfide per noi e per darti un
contesto dei numeri di cui sto parlando
circa è mensile utenti attivi per
Diamante là così che è un numero di
utenti che giocano a quel gioco in questo modo
mi ha dato un sacco di 30 giorni e questo è il
numero di utenti che giocano a quel gioco
ieri, quindi, cosa significa?
termini di più il nostro genere di cose è
richieste al secondo in modo che si riducano
a seimilacinquecento automobili per
secondo per la regola del mostro di gioco loro
è entrato attraverso il back-end e quello
potrebbe non essere un grosso problema in generale ma
nel nostro caso d’uso è un problema
per il database
e il motivo per cui è giusto
avere che significa praticamente tutto il
richieste o diciamo solo la maggioranza
di richieste che devono essere scritte
al database quindi il nostro problema più grande
sta ridimensionando i diritti per rendere il
database funziona con quello e lo abbiamo fatto
quindi in diverse iterazioni su più
diversi giochi cerchiamo di evolvere nel nostro
architettura per farlo funzionare e
darti un’idea di come se non lo avessi fatto
sapere come funziona la configurazione classica per noi
abbiamo un utente nel posto in cui si trova
Facebook su un desktop fa clic su un gioco
e carica il client flash
parla al nostro gioco di back-end e tutto il
i colloqui stanno segnalando il back-end che è
importante per gli analisti di business in modo
possono fare alcuni dati con esso migliorare
i giochi eseguono roba di test IP del genere
lo stesso che abbiamo per i giochi iOS
quindi i primi due giochi che hanno
costruito che era in realtà prima del mio tempo
erano corpi cerebrali e bolla Island e
hanno funzionato bene su lampada in realtà no
esattamente la cosa che hanno usato nginx ma um
ed è un po ‘difficile da pronunciare così
linea di fondo è stato il mio sequel fa scala se
hai guardato i numeri prima da
Diamante: quella cosa in realtà funziona ancora
sul mio sequel e funziona bene così dico
per alcuni casi d’uso
sicuramente ridimensiona se necessario
scrivi persone se hai un ingegnere
che imposta la macchina in modo corretto che
ti dà macchine veloci e configura
loro in un modo che voleranno e se
hai ingegneri che sono proprio intelligenti
domande e pensa a come inserire
dati e come trasportano i dati senza
uccidendo il database che ora sta passando a
un altro gioco il prossimo gioco Monster World
hanno deciso di costruire questo su ec2 in
la nuvola per essere in grado di gestire
grandi picchi nel traffico perché Facebook
può succedere che all’improvviso il tuo
il gioco passa attraverso il tetto e loro usano
rotaie invece di PHP, ma il mio sequel era
ancora lì e questo è un equo
installazione standard che noi
hanno iniziato con il mio sequel ma
inizialmente in corto perché li conoscevano
dovevano sparare alla fine così volevano
fallo presto così ottengono quello
problema tecnico fuori dai piedi così
c’è una grande storia su come questo gioco
scala e quali erano i problemi e i nostri
ingegnere capo sì / ha una grande storia
e penso che lo chiami per sei settimane
l’inferno e ha un sacco di dettagli cruenti di
cosa è successo esattamente ma sono solo
dandovi l’essenza di esso molti nuovi
blocca il primo fusibile in realtà
abbastanza facile da gestire e loro sempre
soluzioni trovate per andare in giro, ma
alla fine hanno finito con qualcosa
così ora immagino che tu abbia due o
tre persone che hanno bisogno di eseguire questa cosa
e anche scrivere il codice backend così
quella è una classica morte di cosa siamo
parlando di così e quelle due persone
devono scrivere il codice di produzione fare avanzare
in un gioco e migliorare il gioco ma
anche eseguire questa cosa su ec2 e il prossimo
il passo è così il cappello è di otto cortometraggi e
ancora non sarebbe al passo con il
diritti quindi cosa ho iniziato a fare dopo
quello è bene che non lo sanno
ha iniziato a pensare bene alla successiva logica
passo sarebbe andato da otto a
sedici anni, ma se si aggiunge, se si somma il
anche gli schiavi si finisce con quello che è
quel 16 e 32 sicuramente due macchine
hai avuto bisogno di gestire e se uno va
fuori un maestro va fuori devi
commutare allo slave e venire a
nuova macchina quindi è molto
lavoro operativo e così risulta
il mondo dei mostri era un caso d’uso diverso
non era un gioco arcade quindi la lezione
imparato per me personalmente qui è arcade
i giochi non stanno creando giochi come mostri
il mondo è considerato il traffico e il
backend e le basi di dati in modo che
capito bene questo non è andare a lavorare
se vuoi piacere, passa un po ‘di tempo
in realtà la codifica oltre alla semplice negoziazione
con rischi operativi quindi la luce
che un tunnel che hanno visto alla fine
era Redis
perché Redis è estremamente veloce che avevano
giusti problemi giusti così necessari per affrontare
con diritti ma è anche duraturo in alcuni
senso non tanto quanto il mio seguito ma
puoi averlo persistente se vuoi
quindi quello che è fuori dal fare sono loro
ha iniziato a spostare le parti lente fuori
leggere il mio sequel in Redis
specialmente le parti che se guardi
un gioco di formazione che pianti normalmente
qualcosa nei mostri è un mostro
giardino così pianti qualcosa che tirerà
il tuo raccolto che lo pianti come
questo ciclo e questo è ciò che ha causato il
la maggior parte del traffico, quindi l’hanno spostato verso
Redis e poi gradualmente spostato di più
e più li e questo è stato male
alla fine ha salvato il mondo dei mostri di gioco
nel back-end e quindi potevano muoversi
e iniziare a mettere a fuoco più e altro
roba così il prossimo gioco è quello che
in realtà ha funzionato su si chiama felice
ospedale e da quello che ho imparato
tutti i problemi che hanno avuto in un cloud e
bisogno di avere tonnellate e tonnellate di
macchine e avendo così enorme
sovraccarico operativo che volevamo andare
dedicarlo perché nella mia comprensione
il cloud era troppo lento per quello che
ci è costato
c’era come IO era terribile e il
Le CPU non erano le più veloci e loro
sono costosi e costosi ma noi
volevo macchine più veloci quanto noi
potrebbe diventare grasso che dovrei essere
veloce la rete dovrebbe essere veloce così noi
non avere a che fare con questo terribile
latenze tra le applicazioni di
affitto e il database perché il più alto
il viaggio di andata è il più lungo
l’eventuale tempo di risposta arriverà
se apri più di una query
quindi abbiamo deciso di andare con Redis e noi
si avvicinò con questo così l’idea era avere
pochissime macchine ma grandi macchine e
basta avere tutto il più velocemente possibile
e abbiamo archiviato tutti i dati invece di in
un classico modo di prendere la bicicletta
i dati degli utenti e gli utenti ne hanno felici
ospedale per molti dei pazienti così invece
di mettere il paziente qui
e le stanze dappertutto e l’utente
qui ma poi abbiamo bisogno di usare l’ utente
camere
devo andare qui attraverso tutte le stanze
e guarda in basso e poi hai bisogno del
paziente scorrere qui avremmo
un utente composto in modo da avere un registro
chiave i Valiants già hash e
tutto ciò che appartiene a un utente è
là dentro che si è rivelato essere veramente
potente perché potremmo facilmente muoverci
quell’utente in giro tra gli ambienti
dalla messa in scena alla produzione e all’azione
per impatto e forza che era estremamente
buono per il debug per test perché
potrebbe avere solo un mucchio di file JSON
o file llamó appena ripristinati
tua sorella per il tuo utente di staging per
istanza e vedere il mondo come il
utente che ha avuto un dollaro giusto e così e
anche in caso di cortocircuito è abbastanza
facile perché devi scegliere a breve
una chiave e non devi fare a meno di tutto
anche i tuoi modelli e quindi stavamo bene
e la famiglia andava bene, ma noi
si sono imbattuti anche in alcuni robot e quelli erano
quelli interessanti
prima di tutto pronto a fare
qualcosa di strano perché lo faremmo
aspettavo che la crescita della memoria fosse a
lineare alla crescita di nuovi usi, a
mappare correttamente ogni nuovo utente è certo
quantità di memoria e dovrebbe crescere
linearmente lo ha fatto fino a un certo
punto e tutto ad un tratto e molti leggono
le sue ragazze della memoria hanno appena passato il
tetto
e non sapevamo veramente cosa fosse
accadendo e non potremmo davvero
riprodurlo in uno sviluppo o messa in scena
ambiente stava solo accadendo di
produzione così alla fine e anche noi
capito se si sarebbe ripristinato pronto
timbro in un database Redis vuoto quindi
consumerebbe molto meno memoria di
l’ attuale database di produzione lo ha fatto
che è iniziato diventato un problema perché noi
stavano lentamente esaurendo la memoria sul nostro
macchine che pensavamo avrebbe avuto
per forse mezzo anno o un anno
un’altra cosa che il viaggio fa è tutto a
all’improvviso avevamo bancarelle nel nostro sistema tutto
il modo attraverso la pila così in alto
e se guardi i tempi di risposta da
la tua domanda e all’improvviso II
che è in stallo per una seconda risposta
i tempi salgono e poi si riducono di nuovo
e qualche tempo dopo , la stessa cosa
sarebbe successo e stavamo guardando tutto
le cose e tutti i segnali che c’erano
lì e potremmo
capito cosa fosse fino a quando uno di lei
gli ingegneri hanno detto bene qualunque cosa sia
ha un orologio e si scopre che lo era
periodico cosa stava succedendo in quelli
bancarelle così come risulta che c’è un
scenario in quanto il rosso è il
sfondo sicuro per la forcella che esso
può bloccarsi fino a un secondo così
questo è quello che stavamo vivendo
e il problema era anche che avremmo corso
quello sul nostro database principale
dump di sfondi per i backup anziché
lo schiavo quindi lo abbiamo spostato al
schiavi e quel problema è stato risolto ma
alla fine non potremmo più fare discariche
e il primo anno il trucco veloce è sempre
assicurati di controllare se il tuo
i backup esterni al sito funzionano davvero
e in realtà sono coppia e in realtà
avere una certa dimensione in memoria da fare
certo che ci sono perché per noi
hanno appena iniziato a scomparire per fortuna
li stavamo monitorando, quindi cosa è successo
Penso che sia stato il mio fraintendimento
come funziona la copia e la scrittura perché io
pensato bene, Redis sta aprendo un processo
e poi usa il diritto di copiare per scrivere
fuori la discarica dei suoi dati in modo che mai
dovrebbe raggiungere il punto in cui usa Redis
il doppio della quantità di memoria che esso
in realtà ciò sta già usando ho pensato
quello non accadrà mai come risulta
sotto un certo carico questo è in realtà
possibile quindi quello che è successo a noi è il
lo scheduler del sistema operativo è iniziato
uccidere quel processo di backup prima di esso
è stato fatto scrivere così che è il due il
il più grande ha scritto ciò che abbiamo colpito con quel gioco
ed è stato terribile perché ora abbiamo avuto
nessun backup e avevamo un maestro nel suo
schiavo ma se qualcosa è successo a loro
non erano più persistenti se
qualsiasi cosa fosse accaduta a loro , avrebbe perso
tutto quel ada così dopo che ne ho fatto un po ‘
piangere in realtà è stato davvero triste per
che non ero nemmeno sicuro se lo fossimo
in realtà vengono licenziati per una prodezza come questa
a causa di penso che sia stata colpa mia
comunque non sono stato licenziato e siamo venuti
con una soluzione che chiamo ripristino
chiediamo cosa abbiamo effettivamente fatto noi
iniziato l’archiviazione degli utenti perché noi
hai immaginato un gioco sociale che potresti avere
molti utenti di zombie come li chiamo
iniziano a giocare una volta e
non tornano mai, ma lo fanno ancora
occupare spazio nella tua memoria o tu e
anche gli utenti iniziano a giocare per 20
minuti non lo fanno, quindi non suonano
per un paio d’ ore e poi arriva
torna indietro e gioca ancora ma nel frattempo
nella maggior parte del tempo non ne hai bisogno
utenti a meno che alcuni dei loro amici lo siano
interagendo con loro così che cosa facciamo noi
archivierà tutti gli utenti e solo quando tu
iniziato a giocare, li caricheremo da
disco in Redis poi avrebbe giocato
lì è così essenzialmente come una scrittura
attraverso la cache si può pensare di esso che
modo, ma dopo che abbiamo gnocco si scrive
su disco di nuovo e che ha funzionato notevolmente
bene perché invece di avere milioni
e milioni di utenti nel tuo registro
basandoti hai solo bisogno di poche centinaia
mille fondamentalmente per l’utente che
in realtà giocando contemporaneamente bene e
alla fine lo trasferì al negozio di dischi
che è un ramo sperimentale di Redis
che non è mai arrivato alla produzione e lo è
non ufficialmente supportato ma siamo finiti
usandolo e funziona davvero bene per noi
iniziamo persino a scriverne una versione
che invece di scrivere su disco scrive
a s3 ma non l’abbiamo mai provato in
produzione così in movimento nell’evoluzione
dei nostri giochi è stato chiamato il prossimo
terra magica che era una città medievale
tipo di costruttore di cose e il ragazzo
anche se chi doveva progettare quel sistema
ha lavorato precedentemente sul mondo dei mostri
e ha deciso di andare stato e qui
in una grande idea di come cadetti naturalmente a
Dichiarazione di Captain Obvious ma
essenzialmente voleva liberarsi di
database nel senso in cui lo stavamo usando
in modo che ogni detto bene lo facciamo stateful e
scriviamo come tre nel back end noi
aggiungere a un tre come il nostro deposito e corriamo
tutto su ec2 quindi nessun ridimensionamento del database
e scrivi problemi perché se lo sei
stateful possiamo scrivere a tre
a volte se vuoi non dobbiamo
esegui le scritture direttamente tutto a posto
può scaricarli e inviare qualche stato
per un tre e decise di costruire in
Erlang per vari motivi prima di Erlang
è noto per essere eccellente
accento informatico distribuito che
concorrente
informatica ed è davvero economico in
Erlang per ottenere nuovi processi giusti
perché non sono processi di sistema così
puoi avere migliaia di migliaia
forse milioni di processi di modellazione
macchina e se guardi a quello stato
contesto vedrai perché questo è importante
perché diamo un’occhiata a come funzionerebbe
nel back end se inizi a giocare a
gioco che vieni su Facebook, accedi al
carica la pianta flash e i problemi a
accedi o imposta la chiamata a un coordinatore
nota che gli assegna un processo di lavoro
risposta una che poi acquisisce molto
per assicurarsi che nessun altro stia scrivendo
quell’utente su s3 in quel momento e poi su di esso
carichi che recuperano i dati da s3
lo carica in memoria e lo tiene lì
e da allora in poi il cliente continua
parlando con quel lavoratore e tutto il
i diritti vanno direttamente lì e il
sincrono sullo sfondo anche noi
scrivilo a tre in modo che non lo facciamo
perdere la maggior parte dei dati nel caso
tutto muore e funziona logout
fondamentalmente in Reverse la desciption
scaduto in qualche modo si ottiene il blocco
rilasciato e si scrive l’utente di nuovo ad un
flusso e questa è una soluzione eccellente
e penso che sia notevole da quelli
due ragazzi che l’hanno costruito perché usa
pochissimo servizio su ec2 e lo è
stabile e scala molto bene io
penso che a un certo punto sono riusciti a ottenere
l’intero gioco attraverso una sola applicazione
server ma era solo per vantarsi
diritti che non fanno questo in
la produzione il più delle volte è così
tutti sanno cosa è lo Spartan di Facebook
il progetto peggiore di cui Facebook fa parte
Progetto nel modo in cui ho capito che lo era
essenzialmente che Facebook voleva spingere
HTML5 mobile e ha voluto creare un app
memorizzare su iOS e Android
le applicazioni hanno ragione quindi l’ unica cosa
potevano farlo naturalmente
viste web all’interno dei loro iOS e Android
applicazioni dove potrebbero essere lanciati
altre app e mostrale così e poi
vogliono avere giochi mobili che sia
perché la partnership con noi così l’idea
era scrivere un gioco per cellulare
e abbiamo deciso di fare un’estensione
magico e si chiama Madeline
Isola il problema c’era il che
le linee che ci sono state date erano solo due
la gente alla scadenza che ci è stata data è
in più di settimane invece di mesi così
Ho iniziato ad innervosirmi e lo erano
parlando di numeri enormi nel traffico previsto
Stavano dicendo che non lo so
il in milioni nella prima settimana
e non so di essere stato enorme, quindi
dopo sono stato davvero confuso perché
Eccomi, eccomi
c’erano due persone che prodotto
manager l’altro sono io di cui abbiamo bisogno
costruisci un gioco html5 su mobile che è un
impresa da solo, ma ho anche bisogno di scala
e assicurarsi che gestisca il traffico
su una scala che non è mai stata vista nella nostra
compagnia prima che finissi per usare nodejs
perché ho pensato bene da quando sto usando
già in un client e probabilmente
assumerà nuovi programmi JavaScript per
aiutaci che alla fine abbiamo fatto noi
ha avuto alcuni ragazzi fantastici per tirarlo fuori così
Ho deciso di non fare scacchi nella parte posteriore
il suo muro in modo che possiamo passare senza interruzioni
avanti e indietro così che è stato risolto così io
avevo bisogno del database che richiede molto
piccolo sforzo operativo e quello
scale senza sharding quindi non ho
per affrontare solo ne aggiungo uno in più
in realtà per aggiungere altri due in scala con
il problema e quello ha il master
replica e sì così e potrebbe essere
questo deve essere il bambino più veloce al mondo
blocco perché anch’io stavo rimproverando
potremmo scrivere nella memoria locale ma
potrebbe anche avere un salvataggio sincrono
quindi andava bene doveva essere
affidabile e nessuna sedia è in realtà da allora
il suo evento è abbastanza buono
aggrappandosi e in attesa di a
risposta al database quindi ho scelto di reagire e
è stato abbastanza buono per questo sì
ho bisogno di ec2 e ho detto che va bene
abbastanza per ora
e questo risulta essere stato abbastanza buono
per bene perché ecco il kicker il
progetto non è mai veramente decollato in una scala
quella
pensato che sarebbe stato così per un
misura in cui è stato fermato e
abbiamo rilasciato il gioco open source come
mobile come l’attenzione di ritenzione iam in
tasca Island in modo e tutti ne aveva bisogno
ma comunque con quello
tempo operativo che ho avuto con reagire
ho alcune lezioni che ho imparato prima
di tutto ciò che ha usato reagire è una semplice chiave
negozio di valore con cui non ha niente di speciale
non ho fatto nessuna struttura di dati di fantasia
strutture dati complesse o complesse
domande che verrebbero con esso
essenzialmente conserverebbe qualcosa
così e quindi la mia esperienza in
tutto è Ryoga generale era un carro armato che
è abbastanza veloce è stato molto veloce e
atteso ed è super robusto come
lui era poco o nessun pericolo operativo
semplicemente fantastico ed è stato esattamente
in realtà quello che hanno detto sarebbe stato così
era davvero contento di questo e del
il fatto che tu non abbia un singolo punto
di fallimento nel tuo database è solo
incredibile perché non voglio alzarmi
alle 4 del mattino perché il
il maestro è appena morto ora ho bisogno di passare a
lo schiavo e impostare un nuovo maestro e
affrontare questo con via diciamo solo io
ho 5 note se muore una nota probabilmente
sarà solo dormire attraverso di essa e il ripristino
la mattina starò bene
un altro apprendimento è che io uso spit cast come a
motore di archiviazione e che potrebbe non avere
è stata la migliore idea ma non ho mai dovuto
pagarlo perché non lo siamo mai
raggiungere la quantità di utilizzo ma lo farebbe
sono diventati un problema via perché il
u-men you Keys ha bisogno di adattarsi alla memoria e
se ricordi quello che ho detto prima
su un sacco di usi zombie che abbiamo
e un sacco di persone che si asciugherebbero
questo gioco html5 per cellulari o è così
bello e poi non tornano mai più
quindi c’è un sacco di utenti come questo e
li tieni in memoria come chiave
almeno così pensavo alla fine
sarebbe diventato un problema
fortunato per me non è mai successo e sì lo farei
questa è una versione precedente di reagire io
non so se è vero per il nuovo
versioni di reagire così che cosa volevo fare
Volevo eseguire il backup del mio sistema e se
quello che ho fatto riguarda solo MapReduce
su un intero secchio
essenzialmente ciò che reagisce è che andrà
attraverso tutte le chiavi e ricorda reagire
è un sistema distribuito quindi ha dovuto
coordinare molto e poi restituito tutto
quelle chiavi e ho quasi ucciso un ammasso
così, ma non lo ha fatto sono stato fortunato
lì e questo è un problema di sviluppo
o meno di un problema di produzione ma
localmente, specialmente in America, il limite è
abbastanza basso nei 200 e reagire quando
tu dici che reagire è iniziato, viene e ha detto
bene dovresti regolare il limite e io
era come si, va bene perché ho tenuto
connessioni con connessioni in India
posso accettare che non stavo pensando file
descrittori che via significa scrivere a
tu perché non pensavo come leveldb
per esempio funziona con molti file
aprire i file che scrive su tutto il
tempo quindi il problema era anche se
dice che dovresti aumentare il limite
non ti dice che non è iniziato
HSS è andato bene, ma non sta dicendo che
non potrei iniziare sullo standard
devo effettivamente passare attraverso la serratura
file per capire che uno e qui
la mia storia preferita, quindi Cooney ha davvero
usato reagire bene così effettivamente penso
la storia è nuova è una novità da fare bene così
con il veicolo è possibile allegare a una nota
e prendi una conchiglia e puoi cambiarti
può chiamare funzioni e cambiare moduli
e cambiare i codici è perché è
Erlang ma quello che è successo è quello che io
normalmente cosa normalmente escono da un
La shell di Erlang è digitando due volte Ctrl C
quindi cosa succede se lo fai così ogni
Ho capito che shell li hai appena uccisi
fuori e così ho ucciso un’intera messa in scena
cluster prima ho iniziato a capirci qualcosa
stavo già aggiornando
produzione e penso di averne ucciso uno o
due nodi finché non lo capisco così
si, questa non è una cosa, quindi come sto?
Volevo andare sì la prossima cosa che noi
ha iniziato a lavorare su monster mobile
ricorda quel gioco agricolo che ho parlato
inizialmente su di esso papà aveva il ridimensionamento
problemi con il mio sequel costruiscono il mio sequel
e alla fine si trasferì a Redis così questo
questa volta ho avuto un sacco di tempo con me
mani
per ottenere questo giusto così ho pensato ma
bene fino ad ora penso di essere ancora buono
quindi ho guardato davvero come l’altro
i giochi per cellulari stanno facendo questo perché
è stato il nostro primo titolo mobile per l’agricoltura in
questo senso su iOS su cui stiamo lavorando
quindi ho guardato altri titoli di Singha
e altri concorrenti come sono
gestire il protocollo su come comportarsi
connessioni instabili come affrontare
i clienti sono offline come si comportano
che non puoi avere la stessa richiesta
modello che un sacco di desktop
i clienti hanno dove piace ogni piccolo
l’azione innescata è una richiesta al
server ma puoi farlo solo con a
connessione interrotta su 3G o in tutto solo
l’impostazione di una connessione HTTP è abbastanza
caro non puoi andare in giro e basta
imposta connessioni HTTP tutto il tempo
non è solo andare a lavorare e anche
guardato come funziona barare perché
normalmente su Facebook guarderemmo
la parte posteriore e ha appena convalidato
tutto sul retro perché se a
molto controllo laggiù e su iOS
le persone che hai una scrivania e gente locale
posso scrivere su questo e così guardarli
barare e si scopre che non lo farebbe
attacca il protocollo degli imbroglioni che
di chi video ti vedresti
YouTube attaccherebbe il locale
memorizzazione e modifica dei valori di configurazione
e altre cose funky come quella lezione
ho imparato per me è stato prima di tutto lo so io
il cliente non è un client flash, ma io
ho anche imparato che il mio mostro è davvero mobile
il gioco non è un gioco arcade quindi io
non potrei semplicemente copiare e incollare ciò che è nostro
gioco arcade mobile stava facendo così
essenzialmente stava chiedendo
Quella domanda ho bisogno di un database a
tutto quello che non volevo diventare stato perché
non si aspettava di avere un sacco di
traffico perché ecco la cosa su un
dispositivo iOS hai il pieno controllo quindi
puoi avere solo un disco locale così tu
puoi mettere in batch i tuoi aggiornamenti , diciamo una volta
un minuto o andare più in alto a seconda di
le richieste del gioco in modo da non farlo e
essenzialmente così il database che cosa
significa che il database non ha bisogno di essere
veramente veloce possono essere piuttosto lento esso
deve solo essere estremamente robusto ma
puoi anche prenderlo un po ‘
inoltre, e dillo bene, mantieni il
indietro e semplicemente non fare la cosa base
perché è meraviglioso ma aggiunge un
un po ‘di complessità basta tenerlo
semplice e apolide e basta scrivere
direttamente a s3, basta avere Erlang o
nodejs o qualunque cosa sia una via sottile
attorno a a3 e basta leggere e scrivere
per 3m falla scuotere controlla alcune cose così
quel pensiero mi attraversò definitivamente la mente
e non sono sicuro di cosa faremo
questo, ma sicuramente non è il mio
mente e ho anche dimenticato che lo schiaffo era
ci dispiace la prossima domanda che ho
si avvicinò ma ho anche bisogno di un back-end così
nel tentativo di ottimizzare me stesso fuori da un
lavoro
Potrei davvero provare qualcosa di simile
e in sostanza non hanno data base in
per questo ho bisogno di ridimensionare no
sovraccarico operativo
no indietro e ho bisogno di scrivere e solo
gestire tutto dal client in a
modo intelligente a questo punto non sono sicuro se
questo è effettivamente possibile ma lo farò
di certo ci penso e penso
Ho finito davvero presto oggi, okay
questo è tutto ciò che ho
Please follow and like us: