Stań się globalny
- 3 min
W poprzedniej lekcji opisaliśmy skalowanie zasobów obliczeniowych i zwiększanie ich dostępności w tym procesie. Zasugerowaliśmy również dodanie usługi Azure Managed Redis w celu zwiększenia wydajności i skalowania Azure SQL baz danych za pośrednictwem fragmentowania.
Następnym krokiem, w miarę rozwoju firmy, może być przejście na rynek globalny. Istnieją jednak pewne kwestie, o których należy pomyśleć przed próbą zaimplementowania w pełni globalnej architektury.
Pytania do zadania
Pierwsze pytanie brzmi: Czy naprawdę musisz działać na rynku międzynarodowym?
Ważne jest, aby zrozumieć, jaki ból mają nasi klienci przed podjęciem takiego zadania, więc zadaj sobie kilka dodatkowych pytań:
- Czy możesz zbliżyć zawartość do użytkowników za pośrednictwem sieci dostarczania zawartości?
- Czy naprawdę musisz skalować ten konkretny system w dwóch (lub więcej) lokalizacjach geograficznych? Czy na przykład użytkownik w Stany Zjednoczone musi mieć dokładnie to samo konto w Wielkiej Brytanii? Czy niezależne systemy byłyby bardziej odpowiednie? Ten wzorzec jest typowy w handlu elektronicznym.
- Jeśli naprawdę potrzebujesz globalnie rozproszonego systemu, jaka spójność jest potrzebna dla bazy danych? Silna spójność na całym świecie jest trudna do osiągnięcia. Usługi, takie jak Cosmos DB, obsługują silną spójność w konfiguracjach obejmujących wiele regionów, ale wiążą się z istotnymi kompromisami, takimi jak zwiększone opóźnienia i zmniejszona dostępność podczas awarii regionalnych oraz zwiększenie użycia jednostek RU na operację.
Spójność danych
Przyjrzyjmy się nieco dokładniej problemowi spójności danych.
W przypadku przetwarzania rozproszonego spójność odnosi się do tego, jak aktualne i jednolite są dane we wszystkich replikach systemu. Istnieją dwa podstawowe modele spójności.
Silna spójność zapewnia gwarancję liniowości. Operacje odczytu mają gwarancję zwrócenia najnowszej zatwierdzonej wersji elementu.
A potem istnieje spójność ostateczna, pomysł, że baza danych lub system ostatecznie staną się spójne z upływem czasu. Nie ma gwarancji porządku odczytania. W przypadku braku dalszych zapisów repliki ostatecznie zbiegają się.
Usługi takie jak Cosmos DB oferują również pośrednie modele spójności, takie jak ograniczona stalość, sesja i spójny prefiks, które zapewniają różną równowagę między wydajnością a świeżością danych.
Narzędzia do ekspansji globalnej
Jeśli okaże się, że naprawdę trzeba skalować aplikację globalnie, istnieje kilka usług Azure, które mogą pomóc ci to osiągnąć. Przyjrzyjmy się Azure Traffic Manager i Azure Front Door:
- Azure Traffic Manager jest globalną usługą równoważenia obciążenia opartą na systemie DNS. Używa ona sond DNS i kondycji do kierowania użytkowników do najlepszego zaplecza w dobrej kondycji na podstawie zdefiniowanych zasad routingu. Ten routing może opierać się na wydajności, lokalizacji, algorytmie rotacyjnym itp. Po zidentyfikowaniu backendu w dobrej kondycji klienci zawsze łączą się bezpośrednio z tym backendem.
- Azure Front Door to nowoczesna usługa CDN w chmurze i globalny moduł równoważenia obciążenia, oferując różne funkcje równoważenia obciążenia w warstwie 7 dla aplikacji. Zapewnia dynamiczne przyspieszanie witryn (DSA) wraz z globalnym równoważeniem obciążenia, umożliwiając niemal natychmiastowe przełączanie awaryjne. Jest to usługa o wysokiej dostępności i skalowalności, w pełni zarządzana przez Azure.
Azure Front Door jest w zasadzie globalnym modułem równoważenia obciążenia opartym na protokole HTTP. Klient nawiązuje połączenie z usługą Front Door, więc usługa Front Door wysyła żądanie użytkowników do serwera proxy. Jeśli żądany element nie znajduje się w pamięci podręcznej, zostanie zidentyfikowana prawidłowa reguła routingu. Następnie sprawdza sondę kondycji odpowiedniego zaplecza i przy założeniu, że wszystko jest w dobrej kondycji, przekazuje żądanie użytkownika do najlepszego zaplecza na podstawie metody routingu.
Ponieważ Azure Front Door proxy'uje połączenie, można wykonywać pewne zaawansowane funkcje, takie jak uruchamianie zapory aplikacji webowej i buforowanie, co jest przydatne do skalowania. Żadna z tych funkcji nie może zostać osiągnięta w usłudze Traffic Manager.
Na diagramie pokazano, jak można używać obu tych elementów razem.
diagram architektury przedstawiający zarówno Azure Front Door, jak i Traffic Manager w tej samej architekturze.
Ta konfiguracja używa usługi Traffic Manager do prostego równoważenia obciążenia opartego na DNS dla statycznych zasobów w kontach magazynowych. Używa ona również usługi Front Door do routingu opartego na ścieżkach w aplikacji internetowej w usłudze App Service i na maszynach wirtualnych.
Sprawdź swoją wiedzę
Opinia
Czy ta strona była pomocna?
Nie
Potrzebujesz pomocy dotyczącej tego tematu?
Chcesz spróbować użyć asystenta Ask Learn, aby wyjaśnić ten temat lub uzyskać instrukcje, które go dotyczą?