Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 55716|Antwoord: 3

[Bron] 【Architectuur】ASP.NET Core is zeer beschikbaar op basis van Consul-diensten

[Link kopiëren]
Geplaatst op 16-10-2020 18:33:07 | | | |
Bij de ontwikkeling van internetprojecten is het noodzakelijk om met verschillende diensten te communiceren, en gebruikers verkrijgen gegevens van de server, en de hoge beschikbaarheid van serviceinterfaces is bijzonder belangrijk, vooral in e-commerce- en betalingssystemen, waar hoge beschikbaarheid ook meet of het systeem robuust is. In het geval van clusters zijn veel diensten ook moeilijk te onderhouden.

Consul beoordeling

Consul is een open-source tool ontwikkeld in de Go-taal, gelanceerd door HashiCorp, die wordt gebruikt om serviceontdekking en configuratie van gedistribueerde systemen te realiseren, met een ingebouwd serviceregistratie- en ontdekkingskader, implementatie van distributieconsistentieprotocol, gezondheidscontrole, sleutel-/waardeopslag en multi-datacenteroplossingen, wat relatief eenvoudig te gebruiken is.

[Architectuur]. net/c# implementeert gedistribueerde configuratie van Key/Value-opslag gebaseerd op Consul
https://www.itsvse.com/thread-9420-1-1.html

Architectuur: ASP.NET Core configureert dynamisch hot updates op basis van Consul
https://www.itsvse.com/thread-9421-1-1.html


Consul dienstvondst

Hoe gebruik je Consul Service Discovery:

  • Draai een Consul-agent in Clientmodus op elke computer, die alleen verantwoordelijk is voor het efficiënt uitwisselen van de nieuwste registratiegegevens met het Consul Cluster (zonder deel te nemen aan de leiderverkiezing).
  • De servicedienst registreert op elke computer de servicenaam en de URL van de dienst bij de lokale consulagent
  • Wanneer een programma dat op Computer1 is ingezet ServiceB moet oproepen, verkrijgt het programma ServiceA direct het toegangsadres van ServiceB van de lokale Consul Agent via de servicenaam, en doet vervolgens direct een verzoek naar de URL van ServiceB.




De code is als volgt:



In de Startup-klasse roep je als volgt:



Gezondheidscontrole

De health check-interface hoeft alleen een 200-statuscode terug te geven aan Consul, en de code is als volgt:



Begin het project, meld je aan voor de dienst

De controller kan een testmethode als volgt definiëren:



Laten we naar de bin-map van het project gaan en deze via de opdrachtregel starten, de code is als volgt:





Bekijk de link via je browser:

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



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

De json-gegevens zijn als volgt:

[
    {
        "ID": "bb644359-6b2a-a27e-7a0a-a1950b8e515f",
        "Node": "DESKTOP-EB7B69D",
        "Adres": "127.0.0.1",
        "Datacenter": "dc1",
        "GetagdeAdressen": {
            "lan": "127.0.0.1",
            "WAN": "127.0.0.1"
        },
        "NodeMeta": {
            "consul-netwerk-segment": ""
        },
        "ServiceKind": "",
        "ServiceID": "507338bf-a5a6-4013-9675-c43a40a2c1a0",
        "ServiceName": "test.itsvse",
        "ServiceTags": [
            "test",
            "Itsvse"
        ],
        "ServiceAddress": "127.0.0.1",
        "ServiceWeights": {
            "Passing": 1,
            "Waarschuwing": 1
        },
        "ServiceMeta": {},
        "ServicePort": 8083,
        "ServiceEnableTagOverride": onwaar,
        "ServiceProxy": {
            "MeshGateway": {},
            "Onthullen": {}
        },
        "ServiceConnect": {},
        "CreateIndex": 1317,
        "WijzigenIndex": 1317
    },
    {
        "ID": "bb644359-6b2a-a27e-7a0a-a1950b8e515f",
        "Node": "DESKTOP-EB7B69D",
        "Adres": "127.0.0.1",
        "Datacenter": "dc1",
        "GetagdeAdressen": {
            "lan": "127.0.0.1",
            "WAN": "127.0.0.1"
        },
        "NodeMeta": {
            "consul-netwerk-segment": ""
        },
        "ServiceKind": "",
        "ServiceID": "bb21f150-7219-4eda-bc91-54686a750228",
        "ServiceName": "test.itsvse",
        "ServiceTags": [
            "test",
            "Itsvse"
        ],
        "ServiceAddress": "127.0.0.1",
        "ServiceWeights": {
            "Passing": 1,
            "Waarschuwing": 1
        },
        "ServiceMeta": {},
        "ServicePort": 8082,
        "ServiceEnableTagOverride": onwaar,
        "ServiceProxy": {
            "MeshGateway": {},
            "Onthullen": {}
        },
        "ServiceConnect": {},
        "CreateIndex": 1314,
        "WijzigenIndex": 1314
    }
]


Consul servicebezoek

Maak een nieuw .NET Core-consoleproject aan met de volgende code:



Ik bel willekeurig de geregistreerde test.itsvse-dienst en het resultaat is als volgt:



Tot slot, broncode downloaden:

Toeristen, als jullie de verborgen inhoud van dit bericht willen zien, alsjeblieftAntwoord




Vorig:Architectuur: ASP.NET Core configureert dynamisch hot updates op basis van Consul
Volgend:DMP-bestandsimport is uitzonderlijk
Geplaatst op 30-11-2020 19:57:38 |
w174w174w174
Geplaatst op 23-7-2021 09:31:37 |
Bedankt voor het delen
Geplaatst op 3-9-2021 09:05:16 |
Software, tienduizenden e-mails importeren, geen dood faken, niet bevriezen!!
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com