Co oznacza skalowanie w poziomie?

Odpowiedzi:

24

Skalowanie w poziomie Skalowanie w
poziomie zasadniczo buduje się zamiast w górę. Nie kupujesz większego, mocniejszego serwera i przenosisz na niego całe swoje obciążenie, zamiast tego kupujesz ponad 1 dodatkowe serwery i rozkładasz obciążenie na nie.

Skalowanie w poziomie jest używane, gdy masz możliwość uruchamiania wielu instancji na serwerach jednocześnie. Zazwyczaj dużo trudniej jest przejść z 1 serwera na 2 serwery, niż z 2 do 5, 10, 50 itd.

Po rozwiązaniu problemów z uruchamianiem równoległych instancji możesz w pełni korzystać ze środowisk takich jak Amazon EC2, usługa Cloud Rackspace, GoGrid itp., Ponieważ możesz zwiększać i zmniejszać liczbę instancji w zależności od zapotrzebowania, zmniejszając potrzebę płacenia za moc serwera nie używasz tylko do pokrycia tych szczytowych obciążeń.

Relacyjne bazy danych są jednym z trudniejszych elementów do równoległego uruchamiania pełnego odczytu / zapisu.

Widziałem Damiena Katza mówiącego o CouchDB na StackOverflow DevDays w Austin, a jednym z jego głównych celów jego stworzenia były te równoległe przypadki. Ponieważ było to przedmiotem zainteresowania od samego początku, byłoby znacznie lepiej wykorzystać skalowanie w poziomie.

Skalowanie w pionie Skalowanie w
pionie jest przeciwieństwem, buduj zamiast na zewnątrz. Idź i kup najmocniejszy sprzęt, na jaki Cię stać, i umieść na nim swoją aplikację, bazę danych itp.

Rzeczywisty świat
Oczywiście oba mają swoje zalety i wady. Często kombinacja tych dwóch jest wykorzystywana do ostatecznego rozwiązania.

Możesz mieć swoją podstawową bazę danych, w której wszyscy zapisują i odczytują dane w czasie rzeczywistym na dużym sprzęcie. Następnie rozdałem tylko do odczytu kopie bazy danych w celu dokładniejszej analizy danych i raportowania tam, gdzie bycie na minutę nie ma większego znaczenia. W takim razie aplikacja sieci Web frontonu może działać na wielu serwerach WWW za modułem równoważenia obciążenia.

ManiacZX
źródło
2
Oracle RAC to przykład poziomego skalowania w tradycyjnym RDBMS.
Leigh Riffel,
0

Skalowanie w poziomie jest świetne, gdy potrzebujesz aplikacji, która musi obsługiwać dużą liczbę zapisów i odczytów równoległych. Pomyśl o witrynie, która generuje duży ruch i musi to zarejestrować lub rejestrować dużą liczbę zdarzeń.

Myślę, że największą zaletą jest to, że skalowanie w poziomie można wykonać przy użyciu sprzętu towarowego, a skalowanie w pionie i próba powiększenia istniejących skrzynek jest tylko tyle.

Tradycyjne RDBMS zawodzą tutaj z różnych powodów (w tym dlatego, że są ACID), a rozwiązania NoSQL przodują tutaj, ponieważ można je łatwo skalować w poziomie - ale to inna historia (RDBMS / SQL vs. NoSQL.)

Suman
źródło
0

Niektórzy ludzie w branży używają innej terminologii, aby oznaczać to samo:

  • skalowanie w górę = skalowanie pionowe
  • skalowanie w górę = skalowanie w poziomie
Toddius Zho
źródło