Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 55716|Svar: 3

[Källa] 【Arkitektur】ASP.NET Core är mycket tillgänglig baserat på Consuls tjänster

[Kopiera länk]
Publicerad den 2020-10-16 18:33:07 | | | |
Vid utvecklingen av internetprojekt är det nödvändigt att interagera med olika tjänster, och användare hämtar data från servern, och den höga tillgängligheten av tjänstegränssnitt är särskilt viktig, särskilt inom e-handel och betalningssystem, där hög tillgänglighet också mäter om systemet är robust. När det gäller kluster är många tjänster också svåra att underhålla.

Konsulgranskning

Consul är ett öppen källkodsverktyg utvecklat i Go-språket som lanserats av HashiCorp, och som används för att genomföra tjänsteupptäckt och konfiguration av distribuerade system, med inbyggt ramverk för tjänsteregistrering och upptäckt, implementering av distributionskonsistensprotokoll, hälsokontroll, nyckel-/värdelagring och lösningar för flera datacenter, vilket är relativt enkelt att använda.

[Arkitektur]. net/c# implementerar distribuerad konfiguration av Key/Value-lagring baserat på Consul
https://www.itsvse.com/thread-9420-1-1.html

Arkitektur: ASP.NET Core konfigurerar dynamiskt heta uppdateringar baserat på Consul
https://www.itsvse.com/thread-9421-1-1.html


Konsultjänstupptäckt

Hur man använder Consul Service Discovery:

  • Kör en Consul-agent i klientläge på varje dator, som endast ansvarar för att effektivt utbyta den senaste registreringsinformationen med Consul-klustret (som inte deltar i ledarvalet).
  • Tjänstetjänsten på varje dator registrerar tjänstenamnet och URL:en för tjänsten hos den lokala konsulagenten
  • När ett program som distribueras på Dator1 behöver anropa ServiceB, hämtar programmet ServiceA direkt åtkomstadressen till ServiceB från den lokala konsulagenten via tjänstenamnet och gör sedan en direkt begäran till URL:en till ServiceB.




Koden är följande:



I Startup-klassen, anropa följande:



Hälsokontroll

Hälsokontrollgränssnittet behöver bara returnera en statuskod 200 till Consul, och koden är följande:



Starta projektet, anmäl dig till tjänsten

Styrenheten kan definiera en testmetod enligt följande:



Låt oss gå till projektets bin-katalog och starta den via kommandoraden, koden är följande:





Se länken via din webbläsare:

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



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

JSON-datan är följande:

[
    {
        "ID": "bb644359-6b2a-a27e-7a0a-a1950b8e515f",
        "Nod": "DESKTOP-EB7B69D",
        "Adress": "127.0.0.1",
        "Datacenter": "dc1",
        "TaggedAddresses": {
            "lan": "127.0.0.1",
            "WAN": "127.0.0.1"
        },
        "NodeMeta": {
            "konsul-nätverkssegment": ""
        },
        "ServiceKind": "",
        "ServiceID": "507338bf-a5a6-4013-9675-c43a40a2c1a0",
        "ServiceName": "test.itsvse",
        "ServiceTags": [
            "Test",
            "Itsvse"
        ],
        "ServiceAddress": "127.0.0.1",
        "ServiceWeights": {
            "Passing": 1,
            "Varning": 1
        },
        "ServiceMeta": {},
        "ServicePort": 8083,
        "ServiceEnableTagOverride": falskt,
        "ServiceProxy": {
            "MeshGateway": {},
            "Avslöja": {}
        },
        "ServiceConnect": {},
        "CreateIndex": 1317,
        "ModifieraIndex": 1317
    },
    {
        "ID": "bb644359-6b2a-a27e-7a0a-a1950b8e515f",
        "Nod": "DESKTOP-EB7B69D",
        "Adress": "127.0.0.1",
        "Datacenter": "dc1",
        "TaggedAddresses": {
            "lan": "127.0.0.1",
            "WAN": "127.0.0.1"
        },
        "NodeMeta": {
            "konsul-nätverkssegment": ""
        },
        "ServiceKind": "",
        "ServiceID": "bb21f150-7219-4eda-bc91-54686a750228",
        "ServiceName": "test.itsvse",
        "ServiceTags": [
            "Test",
            "Itsvse"
        ],
        "ServiceAddress": "127.0.0.1",
        "ServiceWeights": {
            "Passing": 1,
            "Varning": 1
        },
        "ServiceMeta": {},
        "ServicePort": 8082,
        "ServiceEnableTagOverride": falskt,
        "ServiceProxy": {
            "MeshGateway": {},
            "Avslöja": {}
        },
        "ServiceConnect": {},
        "CreateIndex": 1314,
        "ModifieraIndex": 1314
    }
]


Konsulservicebesök

Skapa ett nytt .NET Core-konsolprojekt med följande kod:



Jag ringer slumpmässigt den registrerade test.itsvse-tjänsten och resultatet är följande:



Slutligen, källkodsnedladdning:

Turister, om ni vill se det dolda innehållet i detta inlägg, snällaSvar




Föregående:Arkitektur: ASP.NET Core konfigurerar dynamiskt heta uppdateringar baserat på Consul
Nästa:DMP-filimport är exceptionell
Publicerad den 2020-11-30 19:57:38 |
w174w174w174
Publicerad den 2021-7-23 09:31:37 |
Tack för att du delade med dig
Publicerad den 2021-9-3 09:05:16 |
Programvara, importera tiotusentals mejl, låtsas inte vara död, frys inte!!
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com