Марто at home



« | »

Скалиране на Memcache във Facebook

facebook-memcacheMemcached е добре познат, съвсем прост, базиран в паметта начин за кеширане. Видеото по-долу описва как Facebook успява да използва и най-вече да скалира огромни масиви базирани на Memcached, и да поддържа най-голямата социална мрежа. Архитектурата на Facebook, работеща с хиляди Memcached сървъри, поддържа милиони заявки в секунда и съдържа милиарди записи, давайки възожност на потребителите да изпитват приятно потребителско изживяване. В клипчето инженер на Facebook разказва за интересни проблеми, до които са достигнали и техните решения, които понякога са дописване на самия Memcached сървър.

Бързодействието е основен фактор за уеб услугите. Скоростта на работа е пряко свързана с обвързването на потребителите към услуга, което пък е свързано с приходите. За да намалят времето за отговор до минимум (до толкова, че потребителя да не го усеща) модерните уеб услуги имат такава архитектура, че да използват максимално повече информация, намираща се във временната памет (RAM) на сървърите, които обслужват заявките на потребителите. Структурата е добра позната: базата данни се разделя на части, които се разпределят по различни сървъри с много памет за кеш. По този начин данните са винаги достъпни за бързи четения.

За правилното използване на Memcached е необходимо предварително да има създадена подходяща архитектура, както на приложението, така и на базите данни, с които работи. В противен случай имплементирането на Memcached кеш лейър може да се окаже не само трудно, но създаващо много допълнителни проблеми, които да доведат до неприятно потребителско изживяване.

Memcached не е решението за всеки проблем, но може да бъде решението на вашия! Съществуват и други кеш решения, някои от които са нещо средно между кеш и база данни. Например MemcacheDB, софтуер който освен стандартните функции на Memcached предлага и репликация и персистване на данните – записването им на определен интервал от време на диска, като това ви предпазва от така наречения студен старт, за който ще разкажа в някои от бъдещите ми постове.

Този пост е първия от поредица, в които ще пиша за интересни неща от софтуерната и хардуерната архитектура, решения на големи проблеми и малки хитрини с голяма полза.

Posted by on 15 April 2013.

Tags: ,

Categories: блогинки

0 Responses

Leave a Reply

CommentLuv badge

« | »




Recent Posts


Pages