Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 55716|Svare: 3

[Kilde] 【Architecture】ASP.NET Core er svært tilgjengelig basert på Consuls tjenester

[Kopier lenke]
Publisert 2020-10-16 18:33:07 | | | |
I utviklingen av Internett-prosjekter er det nødvendig å samhandle med ulike tjenester, og brukerne henter data fra serveren, og høy tilgjengelighet av tjenestegrensesnitt er spesielt viktig, spesielt i e-handel og betalingssystemer, hvor høy tilgjengelighet også måler om systemet er robust. Når det gjelder klynger, er mange tjenester også vanskelige å vedlikeholde.

Konsulens gjennomgang

Consul er et åpen kildekode-verktøy utviklet i Go-språket, lansert av HashiCorp, som brukes til å realisere tjenesteoppdagelse og konfigurasjon av distribuerte systemer, med innebygd rammeverk for tjenesteregistrering og oppdagelse, implementering av distribusjonskonsistensprotokoll, helsesjekk, nøkkel-/verdilagring og multi-datasenterløsninger, som er relativt enkle å bruke.

[Arkitektur]. net/c# implementerer distribuert konfigurasjon av Key/Value-lager basert på Consul
https://www.itsvse.com/thread-9420-1-1.html

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


Oppdagelse av konsultjeneste

Hvordan bruke Consul Service Discovery:

  • Kjør en Consul-agent i klientmodus på hver datamaskin, som kun er ansvarlig for å effektivt utveksle siste registreringsinformasjon med Consul Cluster (som ikke deltar i ledervalget).
  • Tjenestetjenesten på hver datamaskin registrerer tjenestenavnet og URL-en til tjenesten hos den lokale konsulagenten
  • Når et program distribuert på Computer1 trenger å kalle ServiceB, henter programmet ServiceA direkte tilgangsadressen til ServiceB fra den lokale Consul-agenten via tjenestenavnet, og sender deretter en direkte forespørsel til URL-en til ServiceB.




Koden er som følger:



I Startup-klassen, kall som følger:



Helsesjekk

Helsesjekkgrensesnittet trenger bare å returnere en 200-statuskode til Consul, og koden er som følger:



Start prosjektet, meld deg på tjenesten

Kontrolleren kan definere en testmetode som følger:



La oss gå til bin-katalogen til prosjektet og starte det via kommandolinjen, koden er som følger:





Se lenken via nettleseren din:

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-nettverk-segment": ""
        },
        "ServiceKind": "",
        "ServiceID": "507338bf-a5a6-4013-9675-c43a40a2c1a0",
        "ServiceName": "test.itsvse",
        "ServiceTags": [
            "test",
            "Itsvse"
        ],
        "ServiceAddress": "127.0.0.1",
        "ServiceWeights": {
            "Passing": 1,
            "Advarsel": 1
        },
        "ServiceMeta": {},
        "ServicePort": 8083,
        "ServiceEnableTagOverride": falsk,
        "ServiceProxy": {
            "MeshGateway": {},
            "Avsløre": {}
        },
        "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-nettverk-segment": ""
        },
        "ServiceKind": "",
        "ServiceID": "bb21f150-7219-4eda-bc91-54686a750228",
        "ServiceName": "test.itsvse",
        "ServiceTags": [
            "test",
            "Itsvse"
        ],
        "ServiceAddress": "127.0.0.1",
        "ServiceWeights": {
            "Passing": 1,
            "Advarsel": 1
        },
        "ServiceMeta": {},
        "ServicePort": 8082,
        "ServiceEnableTagOverride": falsk,
        "ServiceProxy": {
            "MeshGateway": {},
            "Avsløre": {}
        },
        "ServiceConnect": {},
        "CreateIndex": 1314,
        "ModifyIndex": 1314
    }
]


Konsulservicekall

Lag et nytt .NET Core-konsollprosjekt med følgende kode:



Jeg ringer tilfeldig den registrerte test.itsvse-tjenesten, og resultatet er som følger:



Til slutt, nedlasting av kildekode:

Turister, hvis dere vil se det skjulte innholdet i dette innlegget, vær så snillSvare




Foregående:Arkitektur: ASP.NET Core konfigurerer dynamisk hot-oppdateringer basert på Consul
Neste:DMP-filimport er eksepsjonell
Publisert 30.11.2020 19:57:38 |
w174w174w174
Publisert 23.07.2021 09:31:37 |
Takk for at du delte
Publisert 2021-9-3 09:05:16 |
Programvare, importer titusenvis av e-poster, ikke lat som du er død, ikke frys!!
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com