Czy wiesz że...
* najnowsza wersja GG napisana jest w JavaScripcie?
Tworzymy aplikację desktopową przy wykorzystaniu technologii web'owych!
UI to
CSS + XUL,
logikę aplikacji stanowi czysty
Javascript.
Całość, analogicznie jak Firefox, oparta jest na silniku Mozilla Gecko - zmodyfikowanym i dostosowanym przez nasz wewnętrzny dział
C++.
* serwery komunikatora GG napisane są w całości w C i C++?
Jako źródła danych używamy
MySQLa
(dla mocno obciążonych baz stosując komunikację przez plugin
HandlerSocket)
i
Memcacheda.
A do wewnętrznej komunikacji między serwerami stosujemy
Thrifta i
HTTPa.
Dodatkowo, do utrzymywania między serwerami spójnego stanu zalogowania użytkowników, używamy protokołu opartego na bibliotece
Spread.
* aplikacje serwerowe GG dysku, muzyki i kilku innych produktów zostały napisane w Javie?
Całość "na klatę" biorą load balancery
Nginx i
Varnish, który to dodatkowo cache'uje dane.
Żądania, po przejściu przez load balancery, trafiają do aplikacji, gdzie wewnętrznie są obsługiwane przy użyciu serwera
Jetty.
Jako ciekawostkę podamy, iż wewnątrz kodu zarządzamy zależnościami przy wykorzystaniu biblioteki
Guice,
a do dynamicznie zmieniających się fragmentów zaprzęgliśmy
Groovy'ego.
Natomiast pomocnicze narzędzia administracyjne, skrypty do wewnętrznego użytku tworzymy w
Pythonie.
Przetwarzamy miliony rekordów, które na swoją kolej oczekują w kolejce
ActiveMQ.
Wspomniane rekordy indeksujemy i przeszukujemy, wykorzystując
Sphinksa. Całym kodem zarządzamy za pomocą
Gita,
a nad ciągłą jego integracją czuwa
Jenkins.
* posiadamy hurtownię danych agregującą gigabajty danych dziennie i dziesiątki terabajtów w skali roku?
Jako podstawa pod nią służy nam
Hadoop, ale aplikacje przetwarzające dane tworzymy w oparciu o Javę i Pythona.
* wszystkie zespoły IT w firmie GG Network funkcjonują przy wykorzystaniu metodyk Agile,
z których prym wiedzie u nas Scrum?
GG w liczbach:
400 serwerów 8 rdzeniowych, pod wirtualizacje
ok. 4000 guestów/serwerów wirtualnych
ok. 80 urządzeń sieciowych
25 szaf rackowych
3.5-5 mln sesji tcp
ok. 2.5 – 4.5GB ruchu sieciowego w świat
15 TB pamięci
2 PB powierzchni dyskowej dla systemów