Konfigurowanie globalnie rozproszonej bazy danych przy użyciu interfejsu API usługi Azure Cosmos DB dla bazy danych MongoDBSet up global distributed database using Azure Cosmos DB's API for MongoDB

W tym artykule przedstawiono, jak za pomocą witryny Azure Portal skonfigurować globalnie rozproszoną bazę danych i nawiązać z nią połączenie przy użyciu interfejsu API usługi Azure Cosmos DB dla bazy danych MongoDB.In this article, we show how to use the Azure portal to setup a global distributed database and connect to it using Azure Cosmos DB's API for MongoDB.

W tym artykule opisano następujące zadania:This article covers the following tasks:

Dodawanie regionów globalnej bazy danych przy użyciu witryny Azure PortalAdd global database regions using the Azure portal

Usługa Azure Cosmos DB jest dostępna we wszystkich regionach świadczenia usługi Azure na całym świecie.Azure Cosmos DB is available in all Azure regions worldwide. Po wybraniu domyślnego poziomu spójności dla Twojego konta bazy danych możesz skojarzyć co najmniej jeden region (w zależności od wybranego domyślnego poziomu spójności i globalnych potrzeb dystrybucji).After selecting the default consistency level for your database account, you can associate one or more regions (depending on your choice of default consistency level and global distribution needs).

  1. W witrynie Azure Portal na pasku po lewej stronie kliknij pozycję Azure Cosmos DB.In the Azure portal, in the left bar, click Azure Cosmos DB.

  2. Na stronie usługi Azure Cosmos DB wybierz konto bazy danych do modyfikacji.In the Azure Cosmos DB page, select the database account to modify.

  3. Na stronie konta kliknij w menu pozycję Replikuj dane globalnie.In the account page, click Replicate data globally from the menu.

  4. Na stronie Globalna replikacja danych wybierz regiony do dodania lub usunięcia, klikając regiony na mapie, a następnie klikając przycisk Zapisz.In the Replicate data globally page, select the regions to add or remove by clicking regions in the map, and then click Save. Dodanie regionu nic nie kosztuje, zobacz cennik lub artykuł Globalna dystrybucja danych za pomocą usługi Azure Cosmos DB, aby uzyskać więcej informacji.There is a cost to adding regions, see the pricing page or the Distribute data globally with Azure Cosmos DB article for more information.

    Kliknij regiony na mapie, aby je dodać lub usunąć

Po dodaniu drugiego regionu w portalu na stronie Globalna replikacja danych zostanie udostępniona opcja Ręczne przejście do trybu failover.Once you add a second region, the Manual Failover option is enabled on the Replicate data globally page in the portal. Ta opcja umożliwia testowanie procesu pracy awaryjnej lub zmianę podstawowego regionu zapisu.You can use this option to test the failover process or change the primary write region. Po dodaniu trzeciego regionu na tej samej stronie zostanie udostępniona opcja Priorytety trybu failover, dzięki czemu możesz zmienić kolejność pracy awaryjnej dla odczytów.Once you add a third region, the Failover Priorities option is enabled on the same page so that you can change the failover order for reads.

Wybieranie regionów globalnej bazy danychSelecting global database regions

Istnieją dwa typowe scenariusze konfigurowania co najmniej dwóch regionów:There are two common scenarios for configuring two or more regions:

  1. Zapewnienie użytkownikom końcowym dostępu z małym opóźnieniem niezależnie od tego, gdzie znajdują się na całym świecieDelivering low-latency access to data to end users no matter where they are located around the globe
  2. Dodawanie regionalnych odporności dla ciągłości prowadzenia działalności biznesowej i odzyskiwania po awarii (BCDR)Adding regional resiliency for business continuity and disaster recovery (BCDR)

Aby zapewnić użytkownikom końcowym małe opóźnienia, zalecane jest wdrożenie zarówno aplikacji, jak i usługi Azure Cosmos DB w regionach, które odpowiadają lokalizacjom użytkowników aplikacji.For delivering low-latency to end users, it is recommended that you deploy both the application and Azure Cosmos DB in the regions that correspond to where the application's users are located.

W przypadku BCDR zalecane jest dodawanie regionów na podstawie par regionów opisanych w artykule Ciągłość działania i odzyskiwanie po awarii (BCDR): sparowane regiony platformy Azure.For BCDR, it is recommended to add regions based on the region pairs described in the Business continuity and disaster recovery (BCDR): Azure Paired Regions article.

Weryfikowanie konfiguracji regionalnejVerifying your regional setup

Prostym sposobem sprawdzenia konfiguracji globalnej za pomocą interfejsu API usługi Cosmos DB dla bazy danych MongoDB jest uruchomienie polecenia isMaster() z poziomu powłoki Mongo.A simple way to check your global configuration with Cosmos DB's API for MongoDB is to run the isMaster() command from the Mongo Shell.

Z poziomu powłoki Mongo:From your Mongo Shell:

   db.isMaster()

Przykładowe wyniki:Example results:

   {
      "_t": "IsMasterResponse",
      "ok": 1,
      "ismaster": true,
      "maxMessageSizeBytes": 4194304,
      "maxWriteBatchSize": 1000,
      "minWireVersion": 0,
      "maxWireVersion": 2,
      "tags": {
         "region": "South India"
      },
      "hosts": [
         "vishi-api-for-mongodb-southcentralus.documents.azure.com:10255",
         "vishi-api-for-mongodb-westeurope.documents.azure.com:10255",
         "vishi-api-for-mongodb-southindia.documents.azure.com:10255"
      ],
      "setName": "globaldb",
      "setVersion": 1,
      "primary": "vishi-api-for-mongodb-southindia.documents.azure.com:10255",
      "me": "vishi-api-for-mongodb-southindia.documents.azure.com:10255"
   }

Nawiązywanie połączenia z preferowanym regionemConnecting to a preferred region

Interfejs API usługi Azure Cosmos DB dla bazy danych MongoDB umożliwia określenie preferencji odczytu kolekcji dla globalnie rozproszonej bazy danych.The Azure Cosmos DB's API for MongoDB enables you to specify your collection's read preference for a globally distributed database. Na potrzeby odczytów z małymi opóźnieniami i wysokiej dostępności globalnej zaleca się ustawienie preferencji odczytu kolekcji na wartość najbliższe.For both low latency reads and global high availability, we recommend setting your collection's read preference to nearest. Preferencja odczytu najbliższe jest skonfigurowana do odczytu z najbliższego regionu.A read preference of nearest is configured to read from the closest region.

var collection = database.GetCollection<BsonDocument>(collectionName);
collection = collection.WithReadPreference(new ReadPreference(ReadPreferenceMode.Nearest));

Dla aplikacji z podstawowym regionem odczytu/zapisu i pomocniczym regionem na potrzeby scenariuszy odzyskiwania awaryjnego zalecamy ustawienie preferencji odczytu na wartość preferowane pomocnicze.For applications with a primary read/write region and a secondary region for disaster recovery (DR) scenarios, we recommend setting your collection's read preference to secondary preferred. Preferencja odczytu preferowane pomocnicze jest skonfigurowana do odczytu z regionu pomocniczego, gdy region podstawowy jest niedostępny.A read preference of secondary preferred is configured to read from the secondary region when the primary region is unavailable.

var collection = database.GetCollection<BsonDocument>(collectionName);
collection = collection.WithReadPreference(new ReadPreference(ReadPreferenceMode.SecondaryPreferred));

Ponadto jeśli chcesz ręcznie określić regiony odczytu,Lastly, if you would like to manually specify your read regions. możesz ustawić tag regionu w swoich preferencjach odczytu.You can set the region Tag within your read preference.

var collection = database.GetCollection<BsonDocument>(collectionName);
var tag = new Tag("region", "Southeast Asia");
collection = collection.WithReadPreference(new ReadPreference(ReadPreferenceMode.Secondary, new[] { new TagSet(new[] { tag }) }));

To wszystko — na tym kończy się ten samouczek.That's it, that completes this tutorial. Aby dowiedzieć się, jak zarządzać spójnością globalnie replikowanego konta, przeczytaj Poziomy spójności w usłudze Azure Cosmos DB.You can learn how to manage the consistency of your globally replicated account by reading Consistency levels in Azure Cosmos DB. Natomiast aby uzyskać więcej informacji na temat sposobu działania globalnej replikacji w usłudze Azure Cosmos DB, zobacz Dystrybuowanie danych globalnie za pomocą usługi Azure Cosmos DB.And for more information about how global database replication works in Azure Cosmos DB, see Distribute data globally with Azure Cosmos DB.

Następne krokiNext steps

W tym samouczku wykonano następujące czynności:In this tutorial, you've done the following:

  • Konfigurowanie dystrybucji globalnej przy użyciu witryny Azure PortalConfigure global distribution using the Azure portal
  • Konfigurowanie dystrybucji globalnej przy użyciu interfejsu API usługi Cosmos DB dla bazy danych MongoDBConfigure global distribution using the Cosmos DB's API for MongoDB

Teraz możesz przejść do następnego samouczka, aby dowiedzieć się, jak programować lokalnie przy użyciu lokalnego emulatora usługi Azure Cosmos DB.You can now proceed to the next tutorial to learn how to develop locally using the Azure Cosmos DB local emulator.