Come LinkedIn utilizza Memcached

January 16

Memcached è un sistema di memoria open-source per le applicazioni Web. Siti web utilizzano memcached sui propri server per ottenere maggiore flessibilità nel modo memoria ad accesso applicazioni. WordPress, LiveJournal, Wikipedia, Craigslist e LinkedIn sono tra i siti web che impiegano memcached per tenere il passo con le richieste degli utenti, come i siti diventa più affollate e più popolare.

memcached

Memcached lavora mettendo in comune la memoria disponibile sui server. Invece di avere tre server con 128 megabyte di memoria disponibile a testa, memcached unisce la memoria in una piscina di 384 megabyte. Che rende più facile per allocare grandi blocchi di memoria ovunque essi sono necessari e riduce il rischio di piccoli blocchi di memoria seduti al minimo su un server. Tutti i dati sono conservati e recuperati dallo stesso punto in memoria, indipendentemente da quale server un utente accede, accelerando la capacità dei server per rispondere alle richieste.

LinkedIn

LinkedIn ha lanciato come un sito di business networking nel 2003 con 350 membri. Nel giro di un anno aveva 500.000 membri, ed entro il 2010 essa aveva superato 65 milioni. Il grande successo ha portato con sé le sfide: Come altri siti popolari, LinkedIn ha dovuto scala - a mantenere un servizio efficiente per far fronte alla crescita della domanda - al fine di rimanere successo. Una soluzione per il ridimensionamento è stato quello di creare le cache di dati per fornire agli utenti informazioni.

cache

Quando un sito web si riferisce la richiesta dell'utente al server, il server ricerca nella sua memoria, trova i dati richiesti, e lo restituisce. Come l'uso del sito scale verso l'alto, il numero di richieste le offerte di server con aumenti, che rallenta i tempi di risposta e si aggiunge alla larghezza di banda necessaria. Caches facilitano la domanda sui server di LinkedIn per memorizzare le informazioni che è stato richiesto l'accesso di recente o più volte da diversi utenti. E 'più facile e più veloce per LinkedIn per recuperare i dati dalla cache rispetto ai server, che migliora il tempo di risposta di richiesta.

LinkedIn design

ingegneri LinkedIn affermano che semplicemente aumentando la dimensione del database non è una buona soluzione per scalare il sistema perché il ridimensionamento database richiede l'aggiunta di hardware. Al contrario, hanno costruito il sistema attorno ad un bus dati che instrada dati replicati e memorizza copie delle informazioni più utilizzato nella cache. Il sistema di cache utilizza memcached perché fornisce una grande piscina di memoria a basso costo. Le cache gestiscono la maggior parte delle richieste degli utenti, con i database raccogliendo quelli della cache non può rispondere.