OK, mała firma może po prostu powiadomić swoich użytkowników, a następnie 404 ich witrynę internetową podczas aktualizacji bazy danych / kodu. Ale to trochę brzydkie i zniechęca do regularnych iteracji.

Jak naprawdę duże firmy (takie jak Facebook) przeprowadzają migracje bez przestojów?

5
wisty 19 lipiec 2011, 04:01
Wyobraź sobie, że masz wiele serwerów baz danych i nie korzystasz z relacyjnej bazy danych o nadmiernej pojemności. Możesz łatwo go wyłączyć, dokonać aktualizacji, ponownie zsynchronizować i przywrócić go, a użytkownicy nigdy by się nie dowiedzieli.
 – 
James Black
19 lipiec 2011, 04:07

2 odpowiedzi

Najlepsza odpowiedź

Kluczowym elementem jest baza danych. Metoda, którą widziałem, polega na użyciu replikacji do dublowania danych na dwóch serwerach. Po skonfigurowaniu podstawowy serwer bazy danych można zaktualizować, podczas gdy serwery aplikacji są kierowane na serwer pomocniczy (replikowany). Po zakończeniu aktualizacji podstawowej bazy danych serwery aplikacji można uaktualniać w sposób leniwy i kierować do zaktualizowanej bazy danych. Sztuczka polega na upewnieniu się, że serwery aplikacji mogą radzić sobie z wieloma schematami bazy danych. Aby to zrobić, musisz mieć kilka klastrów serwerów za jakimś urządzeniem do równoważenia obciążenia. Tanio nie jest :).

3
GregB 19 lipiec 2011, 04:10

Korzystają z rozwiązań klastrowych z masową równoległością, dzięki czemu mogą wyjąć jeden serwer z klastra bez wpływu na usługę, zaktualizować go, a następnie umieścić z powrotem w klastrze. Zwykle wymaga to zgodności wstecznej wersji.

2
Bohemian 19 lipiec 2011, 04:07