Wikia

Wikia Polska

Komentarze7

Spokojnie, to tylko awaria

W tej serii artykułów będę starał się pokazać wam jak działa Wikia i jak pracujemy, zdradzając przy tym nieco sekretów. Zaczynamy od ciężkiego tematu…

Serwisy internetowe mają to do siebie, że czasem się psują. Czy to przez błędy w oprogramowaniu, awarie sprzętu, czy też przerwy w dostępie do sieci lub dostawach prądu (jak w przypadku padu kwejka i Allegro w tym tygodniu), nam również od czasu do czasu zdarzają się problemy.

Na szczęście przez lata wprowadziliśmy szereg rozwiązań, dzięki którym możemy skuteczniej radzić sobie z problemami i szybko reagować na wszelkie niespodzianki.

Jak Wikia przetrwa zagładę atomową

Castle Romeo.jpg

No big deal…

Zgodnie z najnowszymi badaniami amerykańskich naukowców, ewentualną wojnę jądrową przetrwają karaluchy i… Wikia.

A to dzięki zapasowemu datacenter, które ulokowaliśmy w bunkrze przeciwatomowym w stanie Iowa.

Serwery znajdujące się w naszym bunkrze stanowią dokładną kopię całej infrastruktury i zwykle odpoczywają sobie, nie robiąc w zasadzie nic. Jeśli natomiast nasze główne serwery, ulokowane w San Jose w Kaliforni, przestaną działać z jakiegokolwiek powodu, cały ruch automatycznie przełączany jest do Iowa.

Dzięki temu możecie czytać strony na Wikia, nawet jeśli serwis jest chwilowo w tarapatach.

Niestety, zapasowe serwery nie dają możliwości edytowania stron. Dlatego czasem możecie zobaczyć komunikat o tym, że jesteśmy w trybie tylko do odczytu. Pracujemy nad możliwością synchronizacji obu serwerowni, co umożliwi zapisywanie edycji również w Iowa, ale zajmie to jeszcze trochę czasu.

Klastry, czyli Wikia w kawałkach

Do wielkiej rodziny Wikia należy ponad 300 000 wiki wszelkiej maści – małych, dużych, niszowych i ambitnych. Utrzymanie takiej ilości baz danych na jednym serwerze nie tylko jest trudne logistycznie, ale i byłoby niezbyt mądre.

Wraz ze wzrostem ilości wiki wprowadziliśmy więc podział na klastry, czyli niezależne od siebie zespoły serwerów baz danych. Obecnie mamy 4 takie zespoły, ale w każdej chwili możemy postawić kolejny, odpowiadając na zapotrzebowanie. Baza każdej wiki znajduje się tylko na jednym z nich.

Dzięki temu rozwiązaniu konieczne prace konserwacyjne lub ewentualne awarie serwerów baz danych dotykają tylko części wiki.

Podróże w przeszłość

Delorean DMC-12 side.jpg

Jaki mamy rok?!

Skoro już jesteśmy przy bazach danych, nie sposób nie wspomnieć o kopiach zapasowych.

Przechowujemy logi binarne do kilku miesięcy wstecz, które pozwalają nam cofnąć się do dowolnego momentu w historii oraz analizować co się działo z bazami krok po kroku.

Raz w tygodniu robimy także kopię całej zawartości każdej z tysięcy naszych baz danych. Pozwala nam to szybko i bezboleśnie odtworzyć zawartość wiki z danego momentu w przeszłości. Przydaje się też w przypadku poważnego ataku spamerów czy wandali – czasem łatwiej jest przywrócić stan z przed ataku niż mozolnie naprawiać szkody ręcznie.

Aby mieć absolutną pewność, że nic nie zginie, nawet w przypadku awarii serwerów w obu naszych centrach danych, dodatkowo przesyłamy kopie zapasowe na serwery Amazona, korzystając z usługi Amazon S3.

Halo, tu Wikia

Kiedy pojawia się problem ze sprzętem lub poważny bug uniemożliwiający edytowanie, automatycznie rozdzwaniają się nasze telefony. O każdej porze dnia i nocy pod telefonem są co najmniej dwie osoby – jedna z działu Operations, odpowiedzialna za sprzęt i sieć, a druga z Community Engineering, odpowiedzialna za poprawne działanie MediaWiki.

Zdarzyło mi się odejść od kolacji, czy wyjść z imprezy przez taki telefon od naszego systemu powiadomień. Na szczęście nie zdarza się to często, a dzięki temu systemowi nasza reakcja jest tak szybka jak to tylko możliwe.

W następnym odcinku…

To tyle na dziś. Za tydzień nieco o tym w jaki sposób priorytetyzujemy znalezione bugi i zadania.

Pytania i spostrzeżenia do powyższego mile widziane. Chętnie też dowiem się o czym chcielibyście przeczytać w kolejnych odsłonach. Czy powinno być bardziej technicznie, czy może prościej?

Miłego edytowania!

No i jeszcze przy okazji: szukamy pracowników (nie tylko do odbierania telefonów o awariach o dziwnych porach).

Więcej od Wikii

Losowa wiki