Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 55716|Svar: 3

[Kilde] 【Arkitektur】ASP.NET Core er meget tilgængelig baseret på Consuls tjenester

[Kopier link]
Opslået den 16-10-2020 kl. 18:33:07 | | | |
I udviklingen af internetprojekter er det nødvendigt at interagere med forskellige tjenester, og brugerne indhenter data fra serveren, og den høje tilgængelighed af servicegrænseflader er særligt vigtig, især i e-handels- og betalingssystemer, hvor høj tilgængelighed også måler, om systemet er robust. I tilfælde af klynger er mange tjenester også svære at vedligeholde.

Konsulens gennemgang

Consul er et open source-værktøj udviklet i Go-sproget, lanceret af HashiCorp, som bruges til at realisere serviceopdagelse og konfiguration af distribuerede systemer, med indbygget serviceregistrerings- og opdagelsesrammeværk, implementering af distributionskonsistensprotokol, sundhedstjek, nøgle-/værdilagring og multi-datacenterløsninger, som er relativt enkle at bruge.

[Arkitektur]. net/c# implementerer distribueret konfiguration af Key/Value-lageret baseret på Consul
https://www.itsvse.com/thread-9420-1-1.html

Arkitektur: ASP.NET Core konfigurerer dynamisk hot updates baseret på Consul
https://www.itsvse.com/thread-9421-1-1.html


Konsultjenesteopdagelse

Sådan bruger du Consul Service Discovery:

  • Kør en Consul-agent i klienttilstand på hver computer, som kun er ansvarlig for effektivt at udveksle de seneste registreringsoplysninger med Consul Cluster (uden at deltage i ledervalget).
  • Servicetjenesten på hver computer registrerer servicenavnet og URL'en på tjenesten hos den lokale konsulagent
  • Når et program implementeret på Computer1 skal kalde ServiceB, henter programmet ServiceA direkte adgangsadressen for ServiceB fra den lokale Consul Agent via tjenestenavnet og foretager derefter direkte en anmodning til URL'en til ServiceB.




Koden er som følger:



I Startup-klassen kaldes som følger:



Sundhedstjek

Sundhedskontrolgrænsefladen behøver kun at returnere en 200-statuskode til Consul, og koden er som følger:



Start projektet, tilmeld dig tjenesten

Controlleren kan definere en testmetode som følger:



Lad os gå til projektets bin-mappe og starte det via kommandolinjen, koden er som følger:





Se linket via din browser:

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



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

JSON-dataene er som følger:

[
    {
        "ID": "bb644359-6b2a-a27e-7a0a-a1950b8e515f",
        "Node": "DESKTOP-EB7B69D",
        "Adresse": "127.0.0.1",
        "Datacenter": "dc1",
        "TaggedAddresses": {
            "lan": "127.0.0.1",
            "WAN": "127.0.0.1"
        },
        "NodeMeta": {
            "konsul-netværk-segment": ""
        },
        "ServiceKind": "",
        "ServiceID": "507338bf-a5a6-4013-9675-c43a40a2c1a0",
        "ServiceName": "test.itsvse",
        "ServiceTags": [
            "test",
            "Itsvse"
        ],
        "ServiceAdresse": "127.0.0.1",
        "ServiceWeights": {
            "Passerende": 1,
            "Advarsel": 1
        },
        "ServiceMeta": {},
        "ServicePort": 8083,
        "ServiceEnableTagOverride": falsk,
        "ServiceProxy": {
            "MeshGateway": {},
            "Afslør": {}
        },
        "ServiceConnect": {},
        "CreateIndex": 1317,
        "ModifyIndex": 1317
    },
    {
        "ID": "bb644359-6b2a-a27e-7a0a-a1950b8e515f",
        "Node": "DESKTOP-EB7B69D",
        "Adresse": "127.0.0.1",
        "Datacenter": "dc1",
        "TaggedAddresses": {
            "lan": "127.0.0.1",
            "WAN": "127.0.0.1"
        },
        "NodeMeta": {
            "konsul-netværk-segment": ""
        },
        "ServiceKind": "",
        "ServiceID": "bb21f150-7219-4eda-bc91-54686a750228",
        "ServiceName": "test.itsvse",
        "ServiceTags": [
            "test",
            "Itsvse"
        ],
        "ServiceAdresse": "127.0.0.1",
        "ServiceWeights": {
            "Passerende": 1,
            "Advarsel": 1
        },
        "ServiceMeta": {},
        "ServicePort": 8082,
        "ServiceEnableTagOverride": falsk,
        "ServiceProxy": {
            "MeshGateway": {},
            "Afslør": {}
        },
        "ServiceConnect": {},
        "CreateIndex": 1314,
        "ModifyIndex": 1314
    }
]


Konsulservicekald

Opret et nyt .NET Core-konsolprojekt med følgende kode:



Jeg ringer tilfældigt til den registrerede test.itsvse-tjeneste, og resultatet er som følger:



Endelig, download af kildekode:

Turister, hvis I vil se det skjulte indhold i dette indlæg, så vær venligSvar




Tidligere:Arkitektur: ASP.NET Core konfigurerer dynamisk hot updates baseret på Consul
Næste:DMP-filimport er exceptionel
Opslået den 30-11-2020 kl. 19:57:38 |
w174w174w174
Opslået den 23-7-2021 09:31:37 |
Tak fordi du delte
Opslået den 3-9-2021 09:05:16 |
Software, importer titusindvis af e-mails, lad være med at lade som om de er døde, frys ikke!!
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com