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

Widok: 55716|Odpowiedź: 3

[Źródło] 【Architektura】ASP.NET Core jest wysoko dostępny w oparciu o usługi Consul

[Skopiuj link]
Opublikowano 2020-10-16 18:33:07 | | | |
W rozwoju projektów internetowych konieczne jest interakcja z różnymi usługami, a użytkownicy otrzymują dane z serwera, a wysoka dostępność interfejsów usług jest szczególnie istotna, zwłaszcza w systemach e-commerce i płatności, gdzie wysoka dostępność mierzy także odporność systemu. W przypadku klastrów wiele usług jest również trudnych do utrzymania.

Recenzja Consul

Consul to narzędzie open source opracowane w języku Go, wprowadzone na rynek przez HashiCorp, które służy do wykrywania usług i konfiguracji systemów rozproszonych, wyposażone w wbudowane ramy rejestracyjne i wykrywające usługi, implementację protokołu spójności dystrybucji, kontrolę stanu, przechowywanie klucz/wartość oraz rozwiązania dla multi-centrów danych, które są stosunkowo proste w obsłudze.

[Architektura]. net/c# implementuje rozproszoną konfigurację magazynu klucz/wartość opartą na Consul
https://www.itsvse.com/thread-9420-1-1.html

Architektura: ASP.NET Core dynamicznie konfiguruje gorące aktualizacje na podstawie Consul
https://www.itsvse.com/thread-9421-1-1.html


Odkrycie służby konsula

Jak korzystać z Consul Service Discovery:

  • Uruchom agenta Consul w trybie klienta na każdym komputerze, który odpowiada jedynie za efektywną wymianę najnowszych informacji rejestracyjnych z Consul Cluster (nie biorąc udziału w wyborach lidera).
  • Usługa na każdym komputerze rejestruje nazwę usługi oraz adres URL usługi u lokalnego agenta konsula
  • Gdy program wdrożony na Komputerze1 musi wywołać Usługę B, program Usługa A bezpośrednio uzyskuje adres dostępu Usługi B od lokalnego Agenta Konsula za pośrednictwem nazwy usługi, a następnie bezpośrednio wysyła żądanie do adresu URL UsługiB.




Kod jest następujący:



W klasie Startup można zadzwonić następująco:



Badania lekarskie

Interfejs kontroli stanu zdrowia musi jedynie zwrócić kod statusu 200 do konsula, a kod jest następujący:



Rozpocznij projekt, zapisz się na usługę

Regulator może zdefiniować metodę testową w następujący sposób:



Przejdźmy do katalogu bin projektu i zacznijmy go przez wiersz poleceń, kod wygląda następująco:





Zobacz link w swojej przeglądarce:

http://127.0.0.1:8500/ui/dc1/services/test.itsvse



http://127.0.0.1:8500/v1/catalog/service/test.itsvse

Dane json wyglądają następująco:

[
    {
        "ID": "bb644359-6b2a-a27e-7a0a-a1950b8e515f",
        "Node": "DESKTOP-EB7B69D",
        "Adres": "127.0.0.1",
        "Centrum danych": "dc1",
        "TaggedAddresses": {
            "lan": "127.0.0.1",
            "WAN": "127.0.0.1"
        },
        "NodeMeta": {
            "konsul-sieć-segment": ""
        },
        "ServiceKind": "",
        "ServiceID": "507338bf-a5a6-4013-9675-c43a40a2c1a0",
        "ServiceName": "test.itsvse",
        "ServiceTags": [
            "test",
            "itsvse"
        ],
        "ServiceAddress": "127.0.0.1",
        "ServiceWeights": {
            "Passing": 1,
            "Ostrzeżenie": 1
        },
        "ServiceMeta": {},
        "Port serwisowy": 8083,
        "ServiceEnableTagOverride": fałszywe,
        "ServiceProxy": {
            "MeshGateway": {},
            "Expose": {}
        },
        "ServiceConnect": {},
        "CreateIndex": 1317,
        "ModifyIndex": 1317
    },
    {
        "ID": "bb644359-6b2a-a27e-7a0a-a1950b8e515f",
        "Node": "DESKTOP-EB7B69D",
        "Adres": "127.0.0.1",
        "Centrum danych": "dc1",
        "TaggedAddresses": {
            "lan": "127.0.0.1",
            "WAN": "127.0.0.1"
        },
        "NodeMeta": {
            "konsul-sieć-segment": ""
        },
        "ServiceKind": "",
        "ServiceID": "bb21f150-7219-4eda-bc91-54686a750228",
        "ServiceName": "test.itsvse",
        "ServiceTags": [
            "test",
            "itsvse"
        ],
        "ServiceAddress": "127.0.0.1",
        "ServiceWeights": {
            "Passing": 1,
            "Ostrzeżenie": 1
        },
        "ServiceMeta": {},
        "Port serwisowy": 8082,
        "ServiceEnableTagOverride": fałszywe,
        "ServiceProxy": {
            "MeshGateway": {},
            "Expose": {}
        },
        "ServiceConnect": {},
        "CreateIndex": 1314,
        "ModifyIndex": 1314
    }
]


Wezwanie do służby konsula

Stwórz nowy projekt konsoli .NET Core z następującym kodem:



Losowo dzwonię do zarejestrowanej usługi test.itsvse i wynik jest następujący:



Na koniec, pobieranie kodu źródłowego:

Turyści, jeśli chcecie zobaczyć ukrytą zawartość tego wpisu, proszęOdpowiedź




Poprzedni:Architektura: ASP.NET Core dynamicznie konfiguruje gorące aktualizacje na podstawie Consul
Następny:Import plików DMP jest wyjątkowy
Opublikowano 30.11.2020 o 19:57:38 |
W174W174W174
Opublikowano 2021-7-23 09:31:37 |
Dzięki za podzielenie się
Opublikowano 2021-9-3 09:05:16 |
oprogramowanie, importuj dziesiątki tysięcy e-maili, nie udawaj śmierci, nie zawieszaj się!!
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