Î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.
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ă rog Răspunde |