Klastrowanie i równoważenie obciążenia
czym są klastrowanie i równoważenie obciążenia
klastrowanie serwerów jest metodą przekształcania wielu serwerów komputerowych w klaster, który jest grupą serwerów działającą jak pojedynczy system.
Równoważenie Obciążenia polega na rozłożeniu obciążeń na wiele zasobów obliczeniowych, takich jak komputery, klastry serwerów, łącza sieciowe itp. Równoważenie obciążenia mA na celu optymalizację wykorzystania zasobów, maksymalizację przepustowości, zminimalizowanie czasu reakcji i uniknięcie przeciążenia pojedynczego zasobu.
zestaw replik MongoDB to grupa procesów mongod
, które utrzymują ten sam zestaw danych. Zestawy replik zapewniają redundancję i wysoką dostępność i są podstawą wszystkich wdrożeń produkcyjnych.
wysoka dostępność (HA) jest ogólną cechą systemu, która ma na celu zapewnienie uzgodnionego poziomu wydajności operacyjnej, Zwykle czasu sprawności, przez okres dłuższy niż normalnie.
RESTHeart zawsze bardzo dobrze pasował do mikrousług i innych stylów architektury rozproszonej. Został pomyślnie wdrożony z technologiami klastrowania, takimi jak AWS ECS i Fargate, Kubernetes i wiele innych.
jak to działa
RESTHeart zasadniczo odbiera żądania HTTP i przekształca je w zapytania MongoDB, za pośrednictwem sterownika Java. Tworzenie klastra było kwestią umieszczenia prostego równoważenia obciążenia HTTP na szczycie wybranej technologii klastrowania, dokładnie tak, jak w przypadku każdego innego serwera HTTP.
RESTHeart jest bezstanowy dla wszystkich funkcji, ale dla domyślnego menedżera tokenów używanego do uwierzytelniania tokenów. Ta implementacja dostarczana z RESTHeart OSS przechowuje tokeny w pamięci. W rezultacie nie obsługuje klastrowania.
tak więc klaster węzłów RESTHeart wymaga sticky sessions podczas korzystania z uwierzytelniania tokena w przeciwnym razie węzeł RESTHeart może otrzymać token uwierzytelniania utworzony przez inną instancję, co skutkuje błędem “nieautoryzowanego” HTTP 401.
ponieważ instancje RESTHeart nie komunikują się bezpośrednio (aby uniknąć kosztownych kroków synchronizacji), nie mogą zweryfikować tokenów uwierzytelniania utworzonych przez inne instancje w tym samym klastrze. Aby przezwyciężyć tę sytuację, mechanizm równoważenia obciążenia HTTP wstawia lepki token sesji do pliku cookie, a następnie odpowiednio obsługuje przepływ komunikacji od klientów do instancji RESTHeart. Sticky sessions, z architektonicznego punktu widzenia, wprowadzają poziom stateczności w systemie, a ich limit ważności musi być starannie dostrojony.
możliwości RESTHeart EE
zakup komercyjnego klastrowania licencji RESTHeart może być skonfigurowany łatwiej, bez potrzeby przyklejania sesji. Umożliwia to wdrożenie w pełni bezstanowe.
z licencją można uzyskać wyspecjalizowanego Menedżera tokenów, który tworzy podpisane kryptograficznie tokeny, które mogą być potwierdzone przez dowolny węzeł RESTHeart w klastrze bez bezpośredniej komunikacji i synchronizacji między nimi: szybko, prosto i bezpiecznie.
więcej informacji można znaleźć na stronie dokumentacji Token Managera.
podsumowując, kroki najwyższego poziomu dla wysoce dostępnej konfiguracji RESTHeart + MongoDB to:
-
Utwórz zestaw replik MongoDB;
-
Utwórz Klaster RESTHeart połączony z zestawem replik MongoDB;
-
umieść HTTP Load Balancer na nim.
jeśli chcesz dowiedzieć się więcej na temat klastrowania, równoważenia obciążenia i wysokiej dostępności, skontaktuj się z nami.
Leave a Reply