Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 55716|Răspunde: 3

[Sursă] 【Arhitectură】ASP.NET Core este foarte disponibil pe baza serviciilor Consul

[Copiază linkul]
Postat la 2020-10-16 18:33:07 | | | |
În dezvoltarea proiectelor Internet, este necesar să interacționeze cu diverse servicii, iar utilizatorii obțin date de pe server, iar disponibilitatea ridicată a interfețelor de servicii este deosebit de importantă, în special în sistemele de comerț electronic și plăți, unde disponibilitatea ridicată măsoară și dacă sistemul este robust. În cazul clusterelor, multe servicii sunt, de asemenea, dificil de întreținut.

Revizuirea consulului

Consul este un instrument open-source dezvoltat în limbajul Go, lansat de HashiCorp, folosit pentru a realiza descoperirea și configurarea serviciilor sistemelor distribuite, cu cadru integrat de înregistrare și descoperire a serviciilor, implementarea protocolului de consistență a distribuției, verificarea stării de sănătate, stocare chei/valoare și soluții multi-data center, ceea ce este relativ simplu de utilizat.

[Arhitectură]. net/c# implementează configurarea distribuită a Key/Value store bazată pe Consul
https://www.itsvse.com/thread-9420-1-1.html

Arhitectură: ASP.NET Core configurează dinamic actualizările calde bazate pe Consul
https://www.itsvse.com/thread-9421-1-1.html


Descoperirea serviciului consulal

Cum să folosești Consul Service Discovery:

  • Rulează un agent Consul în modul Client pe fiecare calculator, care este responsabil doar pentru schimbul eficient al celor mai recente informații de înregistrare cu Clusterul Consul (nu participând la alegerea liderului).
  • Serviciul de serviciu de pe fiecare calculator înregistrează numele serviciului și URL-ul serviciului la agentul consul local
  • Când un program implementat pe Computer1 trebuie să apeleze ServiceB, programul ServiceA obține direct adresa de acces a ServiceB de la Agentul Consul local prin numele serviciului, apoi face o cerere direct către URL-ul ServiceB.




Codul este următorul:



În clasa Startup, anunțați următoarele:



Control medical

Interfața de verificare a sănătății trebuie doar să returneze un cod de stare 200 către consul, iar codul este următorul:



Începe proiectul, înscrie-te la serviciu

Controlerul poate defini o metodă de testare astfel:



Hai să mergem în directorul bin al proiectului și să-l începem prin linia de comandă, codul este următorul:





Vizualizați linkul prin browserul dumneavoastră:

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



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

Datele json sunt următoarele:

[
    {
        "ID": "bb644359-6b2a-a27e-7a0a-a1950b8e515f",
        "Nod": "DESKTOP-EB7B69D",
        "Adresă": "127.0.0.1",
        "Centru de date": "dc1",
        "AdreseDeEtichete": {
            "lan": "127.0.0.1",
            "wan": "127.0.0.1"
        },
        "NodeMeta": {
            "Segmentul rețelei consul": ""
        },
        "ServiceKind": "",
        "ServiceID": "507338bf-a5a6-4013-9675-c43a40a2c1a0",
        "ServiceName": "test.itsvse",
        "ServiceTags": [
            "Test",
            "itsvse"
        ],
        "AdresăDeserviciu": "127.0.0.1",
        "ServiceWeights": {
            "Trecere": 1,
            "Atenție": 1
        },
        "ServiceMeta": {},
        "ServicePort": 8083,
        "ServiceEnableTagOverride": fals,
        "ServiceProxy": {
            "MeshGateway": {},
            "Expune": {}
        },
        "ServiceConnect": {},
        "CreateIndex": 1317,
        "ModifyIndex": 1317
    },
    {
        "ID": "bb644359-6b2a-a27e-7a0a-a1950b8e515f",
        "Nod": "DESKTOP-EB7B69D",
        "Adresă": "127.0.0.1",
        "Centru de date": "dc1",
        "AdreseDeEtichete": {
            "lan": "127.0.0.1",
            "wan": "127.0.0.1"
        },
        "NodeMeta": {
            "Segmentul rețelei consul": ""
        },
        "ServiceKind": "",
        "ServiceID": "bb21f150-7219-4eda-bc91-54686a750228",
        "ServiceName": "test.itsvse",
        "ServiceTags": [
            "Test",
            "itsvse"
        ],
        "AdresăDeserviciu": "127.0.0.1",
        "ServiceWeights": {
            "Trecere": 1,
            "Atenție": 1
        },
        "ServiceMeta": {},
        "ServicePort": 8082,
        "ServiceEnableTagOverride": fals,
        "ServiceProxy": {
            "MeshGateway": {},
            "Expune": {}
        },
        "ServiceConnect": {},
        "CreateIndex": 1314,
        "ModifyIndex": 1314
    }
]


Apel de serviciu consulal

Creează un nou proiect de consolă .NET Core cu următorul cod:



Sun aleatoriu serviciul test.itsvse înregistrat și rezultatul este următorul:



În final, descărcarea codului sursă:

Turiști, dacă vreți să vedeți conținutul ascuns al acestei postări, vă rogRăspunde




Precedent:Arhitectură: ASP.NET Core configurează dinamic actualizările calde bazate pe Consul
Următor:Importul fișierelor DMP este excepțional
Postat la 2020-11-30 19:57:38 |
w174w174w174
Postat la 2021-7-23 09:31:37 |
Mulțumesc că ai împărtășit
Postat la 2021-9-3 09:05:16 |
software, importați zeci de mii de emailuri, nu simulați moartea, nu înghețați!!
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com