Google nie działa „otwarcie”. Utrzymują swoją architekturę wewnętrzną pod ścisłą kontrolą. Nie znajdziesz publicznego planu mechanizmu stojącego za Dokumentami Google. Ale nie działamy na ślepo. Możemy przeanalizować inne projekty Google i ich znane praktyki inżynieryjne, aby zrekonstruować prawdopodobny sposób działania tego systemu.
Zacznijmy od tego, co zostało potwierdzone. Główna część serwera – logika zaplecza przetwarzająca Twoje żądania – jest napisana w Java. Nie jest to zaskakujące. Java to język zorientowany obiektowo, pierwotnie opracowany przez firmę Sun Microsystems. Google używa go jako podstawowego elementu konstrukcyjnego od wielu lat. Jest niezawodna. Jest skalowalny. To odpowiada ich potrzebom.
Resztę zajmuje się po drugiej stronie ekranu przeglądarka. To jest część klienta. Aby interfejs był responsywny, wykorzystuje JavaScript. Nie myl Javy z JavaScriptem. Mają wspólną nazwę, ale są różnymi technologiami. Java tworzy samodzielne aplikacje. JavaScript poprawia jakość korzystania z Internetu w przeglądarce. To nie działa poza tym oknem.
Poza tymi dwoma faktami szczegóły pozostają tajemnicą Google. Możemy jednak zgadywać na podstawie tego, jak rozwiązywali podobne problemy w przeszłości. W szczególności spójrz na System plików Google. Daje nam mapę drogową.
Tani sprzęt, duża skala
Google ma długą historię kupowania taniego, towarowego sprzętu. Zwykle nie kupują najpotężniejszych pojedynczych serwerów. Kupują tysiące skromnych samochodów. Serwery, na których działają Dokumenty Google, są prawdopodobnie najważniejszymi końmi pociągowymi. Nic specjalnego.
Dlaczego? Ponieważ nadmiarowość jest tańsza niż sprzęt premium. Jeśli jeden drogi serwer ulegnie awarii, firma przestaje działać. Jeśli jeden tani serwer ulegnie awarii, Google uruchamia inny. Takie podejście tworzy skalowalny system. Możesz łatwo dodać mocy. Nie musisz modernizować całej infrastruktury, gdy nastąpi gwałtowny wzrost ruchu.
Gdzie są przechowywane Twoje pliki?
Konfiguracja prawdopodobnie wygląda tak. Masz serwery aplikacji, na których działa oprogramowanie Dokumentów Google. Następnie masz serwery baz danych, które przechowują Twoje dane. Prawdopodobnie istnieje serwer kontrolny lub serwer administracyjny, który działa jako brama zarządzająca ruchem i aktualizacjami.
Ponieważ tani sprzęt ulega awariom, Google stale przewiduje awarie. Używają redundancji. Twój dokument nie jest przechowywany w jednym miejscu. Jest kopiowany na kilka serwerów baz danych. Jeśli jeden węzeł ulegnie awarii, Dokumenty Google pobierają informacje z drugiego. Serwery komunikują się z centralnym punktem kontrolnym, aby wszystko było zsynchronizowane.
Rzeczywistość fizyczna
Ile samochodów bierze udział w akcji? Nie znamy dokładnej liczby. Ale wiemy, że korzystają z ogromnych centrów danych. Centrum danych to po prostu budynek wypełniony sprzętem komputerowym. Serwery są umieszczone na metalowych regałach zwanych rackami. Duży obiekt może zawierać tysiące takich serwerów.
To ogromna, rozproszona łamigłówka. Dokumenty Google to coś więcej niż tylko strona internetowa. To złożony ekosystem zbudowany na Javie, JavaScript i założeniu, że wszystko w końcu się zepsuje. I to jest klucz. System został zaprojektowany tak, aby przetrwać takie awarie niezauważony przez Ciebie.
Przyjrzymy się bliżej temu, w jakim kierunku zmierza ta technologia. Ale na razie wiedz, że Twój „prosty” dokument prawdopodobnie znajduje się na dziesiątkach tanich, nadmiarowych serwerów gdzieś w zimnym, ciemnym pokoju.






























