Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 32919|Odpowiedź: 0

[Źródło] [Architektura]. net/c# implementuje rozproszoną konfigurację magazynu klucz/wartość opartą na Consul

[Skopiuj link]
Opublikowano 2020-10-16 18:18:06 | | | |
W aplikacjach rozproszonych często konieczne jest modyfikowanie właściwości konfiguracji, takich jak aktualizacja ciągów połączeń z bazą danych oraz aktualizacja adresów pamięci podręcznej. Jeśli aplikacji jest niewiele, możesz je ręcznie modyfikować, a gdy jest ich wiele, konfiguracja rozproszona jest bardzo ważna, a ten artykuł wyjaśnia architekturę przechowywania klucz/wartość w .net/c# opartej na Consul do implementacji konfiguracji rozproszonej.

Instalacja Consul

Krótkie wprowadzenie

Consul to narzędzie do wyszukiwania i rejestracji usług, które jest rozproszone i wysoce skalowalne.

Konsul obejmuje głównie następujące cechy:

  • Wykrywanie usług: Wsparcie dla rejestracji i wykrywania usług zarówno dla protokołów HTTP, jak i DNS.
  • Kontrole monitorujące: Wspiera wielokrotne badania zdrowotne.
  • Przechowywanie klucz/wartość: Obsługuje rozproszone przechowywanie danych KV za pośrednictwem API HTTP.
  • Wsparcie dla wielu centrów danych: Obsługiwana jest dowolna liczba centrów danych.


Instalacja

Adres do pobrania:

Logowanie do linku jest widoczne.

W tym artykule używa Windows 10 x64 jako środowiska testowego.

Po pobraniu i rozpakowaniu, uruchom go za pomocą polecenia cmd, a kod jest następujący:



dev oznacza działanie w trybie deweloperskim, a parametr -client może być użyty do określenia, do jakiego adresu IP klient może mieć dostęp, na przykład -client 127.0.0.1 oznacza, że można go używać, a w trybie deweloperskim dane nie będą przechowywane.

(tryb deweloperski, tryb klastra jest zalecany dla środowisk produkcyjnych)



Dostęp:http://127.0.0.1:8500/ui/dc1/servicesZobacz poniżej:



Interfejs KV

Adres dokumentacji API:

Logowanie do linku jest widoczne.

Najpierw korzystam ze strony internetowej i tworzę nową parę klucz/wartość.

Uzyskaj wartość za pomocą ścieżki GET /v1/kv/:key.

http://127.0.0.1:8500/v1/kv/test



[
    {
        "LockIndex": 0,
        "Key": "test",
        "Flagi": 0,
        "Value": "aXRzdnNlLmNvbQ==",
        "CreateIndex": 194,
        "ModifyIndex": 194
    }
]


  • CreateIndex to wewnętrzna wartość indeksu reprezentująca moment utworzenia wpisu.
  • ModifyIndex jest ostatnim indeksem, który modyfikuje ten klucz. Ten indeks odpowiada wartości nagłówkowej zwracanej przez X-Consul-Index w odpowiedzi i można ją ustawić jako ? Parametr zapytania indeksowego służy do ustalania zapytań blokujących. Możesz nawet wykonywać zapytania blokujące na całym poddrzewie sklepu KV: co jeśli? recurencja dostarcza zapytanie, a zwrócona wartość X-Consul-Index odpowiada najnowszej wartości ModifyIndex w prefiksie; przy użyciu blokującego zapytania ?index czeka, aż którykolwiek klucz w tym prefiksie zostanie zaktualizowany.
  • LockIndex to liczba razy, gdy klucz w zamku został pomyślnie zdobyty. Jeśli zamek jest utrzymany, klucz Session dostarcza sesję, która jest właścicielem zamka.
  • Kluczem jest po prostu pełna ścieżka wejścia.
  • Flagi to nieprzezroczyste, nieznakomitowane liczby całkowite, które można dołączyć do każdego wpisu. Klienci mogą wybrać tę opcję, ale ma ona sens w ich zastosowaniu.
  • Value to zakodowany w base64 blob danych.


.NET/C# Odczyt i zapis Klucz/Wartość

Najpierw stwórz projekt .NET 4.6.1 i użyj nuget do instalacji niezbędnych pakietów, w następujący sposób:



Kod jest następujący:



Przedstawienia przedstawiają się następująco:



  • Klucz kluczowy jest rozróżniający wielka litera
  • Wartości zduplikowanego klucza zostaną nadpisane


(Koniec)




Poprzedni:Debugowanie programów .NET za pomocą Notepada w domu na komputerze przez dziesięć lat
Następny:Architektura: ASP.NET Core dynamicznie konfiguruje gorące aktualizacje na podstawie Consul
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com