Włączanie replikacji geograficznej
W tym artykule opisano replikację magazynów aplikacja systemu Azure Configuration. Dowiesz się, jak tworzyć, używać i usuwać replikę w magazynie konfiguracji.
Aby dowiedzieć się więcej na temat koncepcji replikacji geograficznej, zobacz Replikacja geograficzna w konfiguracji aplikacja systemu Azure.
Wymagania wstępne
- Subskrypcja platformy Azure — utwórz bezpłatnie subskrypcję platformy Azure
- Załóżmy, że masz już sklep App Configuration. Jeśli chcesz go utworzyć, utwórz magazyn App Configuration.
Tworzenie i wyświetlanie listy replik
Aby utworzyć replikę magazynu konfiguracji w portalu, wykonaj poniższe kroki.
Uwaga
Tworzenie repliki magazynu usługi App Configuration z prywatnymi punktami końcowymi skonfigurowanymi przy użyciu statycznego adresu IP nie jest obsługiwane. Jeśli wolisz prywatny punkt końcowy z konfiguracją statycznego adresu IP, należy utworzyć repliki przed dodaniu dowolnego prywatnego punktu końcowego do magazynu.
W magazynie App Configuration w obszarze Ustawienia wybierz pozycję Replikacja geograficzna.
W obszarze Repliki wybierz pozycję Utwórz. Wybierz lokalizację nowej repliki na liście rozwijanej, a następnie przypisz replikę nazwę. Ta nazwa repliki musi być unikatowa.
Wybierz pozycję Utwórz.
Powinna zostać wyświetlona nowa replika wyświetlana w obszarze Repliki. Sprawdź, czy stan repliki to "Powodzenie", co oznacza, że została utworzona pomyślnie.
Usuwanie repliki
Aby usunąć replikę w portalu, wykonaj poniższe kroki.
W magazynie App Configuration w obszarze Ustawienia wybierz pozycję Replikacja geograficzna.
W obszarze Repliki wybierz ikonę ... z prawej strony repliki, którą chcesz usunąć. Wybierz pozycję Usuń z listy rozwijanej.
Sprawdź nazwę repliki, która ma zostać usunięta, i wybierz przycisk OK , aby potwierdzić.
Po zakończeniu procesu sprawdź listę replik, które zostały usunięte z odpowiedniej repliki.
Automatyczne odnajdywanie replik
Dostawcy usługi App Configuration mogą automatycznie odnaleźć wszystkie repliki z danego punktu końcowego usługi App Configuration i spróbować nawiązać z nimi połączenie. Ta funkcja umożliwia korzystanie z replikacji geograficznej bez konieczności zmiany kodu lub ponownego wdrażania aplikacji. Oznacza to, że można włączyć replikację geograficzną lub dodać dodatkowe repliki nawet po wdrożeniu aplikacji.
Automatyczne odnajdywanie replik jest domyślnie włączone, ale możesz odwołać się do następującego przykładowego kodu, aby go wyłączyć (niezalecane).
Zmodyfikuj wywołanie AddAzureAppConfiguration
metody , która jest często znajdowana w program.cs
pliku aplikacji.
configurationBuilder.AddAzureAppConfiguration(options =>
{
// Disable automatic replica discovery
options.ReplicaDiscoveryEnabled = false;
// Other changes to options
});
Uwaga
Obsługa automatycznego odnajdywania replik jest dostępna, jeśli używasz wersji 7.1.0 lub nowszej dowolnego z następujących pakietów.
Microsoft.Extensions.Configuration.AzureAppConfiguration
Microsoft.Azure.AppConfiguration.AspNetCore
Microsoft.Azure.AppConfiguration.Functions.Worker
Skalowanie i przechodzenie w tryb failover przy użyciu replik
Każda utworzona replika ma dedykowany punkt końcowy. Jeśli aplikacja znajduje się w wielu lokalizacjach geograficznych, możesz zaktualizować każde wdrożenie aplikacji w lokalizacji, aby połączyć się z repliką bliżej tej lokalizacji, co pomaga zminimalizować opóźnienie sieci między aplikacją a usługą App Configuration. Ponieważ każda replika ma swój oddzielny limit przydziału żądań, ta konfiguracja ułatwia również skalowalność aplikacji, gdy rośnie do usługi rozproszonej w wielu regionach.
Po włączeniu replikacji geograficznej i niedostępności jednej repliki możesz zezwolić aplikacji na przejście w tryb failover do innej repliki w celu zwiększenia odporności. Dostawcy usługi App Configuration mają wbudowaną obsługę trybu failover za pośrednictwem replik udostępnianych przez użytkownika i/lub dodatkowych automatycznie odnalezionych replik. Listę punktów końcowych repliki można podać w kolejności najbardziej preferowanego punktu końcowego. Gdy bieżący punkt końcowy nie jest dostępny, dostawca przejdzie w tryb failover do mniej preferowanego punktu końcowego, ale próbuje nawiązać połączenie z bardziej preferowanymi punktami końcowymi od czasu do czasu. Jeśli wszystkie repliki dostarczone przez użytkownika nie są dostępne, automatycznie odnalezione repliki zostaną losowo wybrane i użyte. Gdy bardziej preferowany punkt końcowy stanie się dostępny, dostawca przełączy się do niego na potrzeby przyszłych żądań.
Zakładając, że masz aplikację korzystającą z aplikacja systemu Azure Configuration, możesz zaktualizować ją jako poniższy przykładowy kod, aby skorzystać z funkcji trybu failover. Możesz podać listę punktów końcowych uwierzytelniania firmy Microsoft Entra lub listę parametry połączenia na potrzeby uwierzytelniania opartego na kluczach dostępu.
Zmodyfikuj wywołanie AddAzureAppConfiguration
metody , która jest często znajdowana w program.cs
pliku aplikacji.
Nawiązywanie połączenia za pomocą identyfikatora Entra firmy Microsoft
configurationBuilder.AddAzureAppConfiguration(options =>
{
// Provide an ordered list of replica endpoints
var endpoints = new Uri[] {
new Uri("<first-replica-endpoint>"),
new Uri("<second-replica-endpoint>") };
// Connect to replica endpoints using Microsoft Entra authentication
options.Connect(endpoints, new DefaultAzureCredential());
// Other changes to options
});
Nawiązywanie połączenia za pomocą parametrów połączenia
configurationBuilder.AddAzureAppConfiguration(options =>
{
// Provide an ordered list of replica connection strings
var connectionStrings = new string[] {
Environment.GetEnvironmentVariable("FIRST_REPLICA_CONNECTION_STRING"),
Environment.GetEnvironmentVariable("SECOND_REPLICA_CONNECTION_STRING") };
// Connect to replica endpoints using connection strings
options.Connect(connectionStrings);
// Other changes to options
});
Uwaga
Obsługa trybu failover jest dostępna, jeśli używasz wersji 6.0.0 lub nowszej dowolnego z następujących pakietów.
Microsoft.Extensions.Configuration.AzureAppConfiguration
Microsoft.Azure.AppConfiguration.AspNetCore
Microsoft.Azure.AppConfiguration.Functions.Worker
Przejście w tryb failover może wystąpić, jeśli dostawca usługi App Configuration przestrzega następujących warunków.
- Odbiera odpowiedzi ze stanem niedostępności usługi (kod stanu HTTP 500 lub nowszy).
- Doświadczenia z problemami z łącznością sieciową.
- Żądania są ograniczane (kod stanu HTTP 429).
Tryb failover nie będzie występować w przypadku błędów klienta, takich jak błędy uwierzytelniania.
Równoważenie obciążenia z replikami
Domyślnie aplikacja zawsze wysyła żądania do najbardziej preferowanego punktu końcowego, z wyjątkiem przypadku przejścia w tryb failover. Oprócz przejścia w tryb failover repliki mogą być również używane do równoważenia obciążenia żądań. Proaktywnie dystrybuując żądania we wszystkich dostępnych replikach w czasie, można uniknąć wyczerpania limitu przydziału żądań pojedynczej repliki i poprawić ogólną skalowalność aplikacji.
Dostawcy usługi App Configuration oferują wbudowaną obsługę równoważenia obciążenia między replikami, niezależnie od tego, czy są udostępniane w kodzie, czy automatycznie odnajdywane. Poniższe przykłady kodu umożliwiają włączenie tej funkcji w aplikacji (zalecane).
Zmodyfikuj wywołanie AddAzureAppConfiguration
metody , która jest często znajdowana w program.cs
pliku aplikacji.
configurationBuilder.AddAzureAppConfiguration(options =>
{
// Enable load balancing
options.LoadBalancingEnabled = true;
// Other changes to options
});
Uwaga
Obsługa równoważenia obciążenia jest dostępna, jeśli używasz wersji 8.0.0-preview.3 lub nowszej dowolnego z następujących pakietów.
Microsoft.Extensions.Configuration.AzureAppConfiguration
Microsoft.Azure.AppConfiguration.AspNetCore
Microsoft.Azure.AppConfiguration.Functions.Worker