Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 55716|Odpoveď: 3

[Zdroj] 【Architecture】ASP.NET Core je vysoko dostupný na základe služieb Consul

[Kopírovať odkaz]
Zverejnené 16.10.2020 18:33:07 | | | |
Pri rozvoji internetových projektov je potrebné komunikovať s rôznymi službami a používatelia získavajú dáta zo servera, pričom vysoká dostupnosť servisných rozhraní je obzvlášť dôležitá, najmä v e-commerce a platobných systémoch, kde vysoká dostupnosť tiež meria, či je systém robustný. V prípade klastrov je tiež ťažké udržiavať mnohé služby.

Recenzia Consul

Consul je open-source nástroj vyvinutý v jazyku Go, ktorý spustila spoločnosť HashiCorp, a ktorý slúži na realizáciu vyhľadávania služieb a konfigurácie distribuovaných systémov, s integrovaným rámcom pre registráciu a objavovanie služieb, implementáciou protokolu konzistentnosti distribúcie, kontrolou stavu, ukladaním kľúčov/hodnoty a riešeniami pre viaceré dátové centrá, pričom je relatívne jednoduché na používanie.

[Architektúra]. net/c# implementuje distribuovanú konfiguráciu Key/Value store založenú na Consul
https://www.itsvse.com/thread-9420-1-1.html

Architektúra: ASP.NET Core dynamicky konfiguruje horúce aktualizácie na základe Consulu
https://www.itsvse.com/thread-9421-1-1.html


Objavenie služby konzula

Ako používať Consul Service Discovery:

  • Na každom počítači spustite Consul agenta v Client Mode, ktorý je zodpovedný len za efektívnu výmenu najnovších registračných informácií s Consul Clusterom (bez účasti na voľbe lídra).
  • Služba na každom počítači registruje názov služby a URL služby u miestneho konzula
  • Keď program nasadený na Computer1 potrebuje zavolať ServiceB, program ServiceA priamo získa prístupovú adresu ServiceB od miestneho Consul Agenta cez názov služby a potom priamo požiada o URL ServiceB.




Kód je nasledovný:



V kurze Startup volajte nasledovne:



Zdravotná prehliadka

Rozhranie kontroly zdravia stačí vrátiť konzulovi stavový kód 200 a kód je nasledovný:



Začnite projekt, prihláste sa na službu

Regulátor môže definovať testovaciu metódu nasledovne:



Poďme do adresára bin projektu a spustíme ho cez príkazový riadok, kód je nasledovný:





Zobrazte si odkaz cez svoj prehliadač:

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



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

Údaje json sú nasledovné:

[
    {
        "ID": "bb644359-6b2a-a27e-7a0a-a1950b8e515f",
        "Node": "DESKTOP-EB7B69D",
        "Adresa": "127.0.0.1",
        "Datacenter": "dc1",
        "TaggedAddresses": {
            "lan": "127.0.0.1",
            "WAN": "127.0.0.1"
        },
        "NodeMeta": {
            "segment konzulskej siete": ""
        },
        "ServiceKind": "",
        "ServiceID": "507338bf-a5a6-4013-9675-c43a40a2c1a0",
        "ServiceName": "test.itsvse",
        "ServiceTags": [
            "test",
            "itsvse"
        ],
        "ServiceAddress": "127.0.0.1",
        "ServiceWeights": {
            "Passing": 1,
            "Varovanie": 1
        },
        "ServiceMeta": {},
        "Servisný prístav": 8083,
        "ServiceEnableTagOverride": nepravda,
        "ServiceProxy": {
            "MeshGateway": {},
            "Expose": {}
        },
        "ServiceConnect": {},
        "CreateIndex": 1317,
        "ModifyIndex": 1317
    },
    {
        "ID": "bb644359-6b2a-a27e-7a0a-a1950b8e515f",
        "Node": "DESKTOP-EB7B69D",
        "Adresa": "127.0.0.1",
        "Datacenter": "dc1",
        "TaggedAddresses": {
            "lan": "127.0.0.1",
            "WAN": "127.0.0.1"
        },
        "NodeMeta": {
            "segment konzulskej siete": ""
        },
        "ServiceKind": "",
        "ServiceID": "bb21f150-7219-4eda-bc91-54686a750228",
        "ServiceName": "test.itsvse",
        "ServiceTags": [
            "test",
            "itsvse"
        ],
        "ServiceAddress": "127.0.0.1",
        "ServiceWeights": {
            "Passing": 1,
            "Varovanie": 1
        },
        "ServiceMeta": {},
        "Servisný prístav": 8082,
        "ServiceEnableTagOverride": nepravda,
        "ServiceProxy": {
            "MeshGateway": {},
            "Expose": {}
        },
        "ServiceConnect": {},
        "CreateIndex": 1314,
        "ModifyIndex": 1314
    }
]


Služba konzula

Vytvorte nový .NET Core konzolový projekt s nasledujúcim kódom:



Náhodne volám registrovanú službu test.itsvse a výsledok je nasledovný:



Nakoniec, stiahnutie zdrojového kódu:

Turisti, ak chcete vidieť skrytý obsah tohto príspevku, prosím.Odpoveď




Predchádzajúci:Architektúra: ASP.NET Core dynamicky konfiguruje horúce aktualizácie na základe Consulu
Budúci:Import DMP súborov je výnimočný
Zverejnené 30.11.2020 19:57:38 |
W174W174W174
Zverejnené 23.7.2021 09:31:37 |
Ďakujem za zdieľanie
Zverejnené 3.9.2021 09:05:16 |
Softvér, importujte desaťtisíce e-mailov, nepredstierajte smrť, nezamrzajte!!
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com