Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 55716|Odpověď: 3

[Zdroj] 【Architektura】ASP.NET Core je vysoce dostupný na základě služeb Consul

[Kopírovat odkaz]
Zveřejněno 16. 10. 2020 18:33:07 | | | |
Při vývoji internetových projektů je nutné komunikovat s různými službami a uživatelé získávají data ze serveru, přičemž vysoká dostupnost rozhraní služeb je zvláště důležitá, zejména v e-commerce a platebních systémech, kde vysoká dostupnost také měří, zda je systém robustní. V případě clusterů je také obtížné udržovat mnoho služeb.

Recenze Consul

Consul je open-source nástroj vyvinutý v jazyce Go, který spustil HashiCorp, a slouží k realizaci vyhledávání služeb a konfigurace distribuovaných systémů, s vestavěným rámcem pro registraci a objevování služeb, implementací protokolu pro konzistenci distribuce, kontrolou stavu, úložištěm klíčů/hodnot a řešeními pro multi-datová centra, což je poměrně jednoduché na používání.

[Architektura]. net/c# implementuje distribuovanou konfiguraci úložiště Key/Value založenou na Consul
https://www.itsvse.com/thread-9420-1-1.html

Architektura: ASP.NET Core dynamicky konfiguruje horké aktualizace na základě Consul
https://www.itsvse.com/thread-9421-1-1.html


Objev konzulské služby

Jak používat Consul Service Discovery:

  • Na každém počítači spusťte konzulského agenta v klientském režimu, který je zodpovědný pouze za efektivní výměnu nejnovějších registračních informací s konzulským klastrom (neúčastní se volby lídra).
  • Služba na každém počítači registruje název služby a URL služby u místního konzula
  • Když program nasazený na Computer1 potřebuje zavolat ServiceB, program ServiceA získá přístupovou adresu ServiceB přímo od místního konzula přes název služby a poté přímo požádá o URL ServiceB.




Kód je následující:



V kurzu Startup volejte následovně:



Zdravotní prohlídka

Rozhraní pro kontrolu stavu potřebuje vrátit konzulu pouze stav 200, a kód je následující:



Začněte projekt, přihlaste se k odběru služby

Regulátor může definovat testovací metodu následovně:



Pojďme do adresáře bin projektu a spustíme ho přes příkazový řádek, kód je následující:





Zobrazte odkaz ve svém prohlížeči:

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



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

Data json jsou následující:

[
    {
        "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 konzulské sítě": ""
        },
        "ServiceKind": "",
        "ServiceID": "507338bf-a5a6-4013-9675-c43a40a2c1a0",
        "ServiceName": "test.itsvse",
        "ServiceTags": [
            "test",
            "itsvse"
        ],
        "ServiceAddress": "127.0.0.1",
        "ServiceWeights": {
            "Passing": 1,
            "Varování": 1
        },
        "ServiceMeta": {},
        "Servisní přístav": 8083,
        "ServiceEnableTagOverride": nepravda,
        "ServiceProxy": {
            "MeshGateway": {},
            "Expose": {}
        },
        "ServiceConnect": {},
        "CreateIndex": 1317,
        "ModifikovatIndex": 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 konzulské sítě": ""
        },
        "ServiceKind": "",
        "ServiceID": "bb21f150-7219-4eda-bc91-54686a750228",
        "ServiceName": "test.itsvse",
        "ServiceTags": [
            "test",
            "itsvse"
        ],
        "ServiceAddress": "127.0.0.1",
        "ServiceWeights": {
            "Passing": 1,
            "Varování": 1
        },
        "ServiceMeta": {},
        "Servisní přístav": 8082,
        "ServiceEnableTagOverride": nepravda,
        "ServiceProxy": {
            "MeshGateway": {},
            "Expose": {}
        },
        "ServiceConnect": {},
        "CreateIndex": 1314,
        "ModifyIndex": 1314
    }
]


Volání konzula

Vytvořte nový .NET Core konzolový projekt s následujícím kódem:



Náhodně volám do registrované služby test.itsvse a výsledek je následující:



Nakonec ke stažení zdrojového kódu:

Turisté, pokud chcete vidět skrytý obsah tohoto příspěvku, prosímOdpověď




Předchozí:Architektura: ASP.NET Core dynamicky konfiguruje horké aktualizace na základě Consul
Další:Import DMP souborů je výjimečný
Zveřejněno 30. 11. 2020 19:57:38 |
W174W174W174
Zveřejněno 23. 7. 2021 09:31:37 |
Díky za sdílení
Zveřejněno 3. 9. 2021 09:05:16 |
Software, importujte desítky tisíc e-mailů, nepředstírejte smrt, nezamrzajte!!
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com