Pri razvoju internetnih projektov je potrebno komunicirati z različnimi storitvami, uporabniki pa pridobivajo podatke s strežnika, visoka razpoložljivost vmesnikov storitev pa je še posebej pomembna, zlasti v e-trgovini in plačilnih sistemih, kjer visoka razpoložljivost prav tako meri robustnost sistema. V primeru grozdov je veliko storitev prav tako težko vzdrževati.
Recenzija Consul
Consul je odprtokodno orodje, razvito v jeziku Go, ki ga je lansiral HashiCorp in se uporablja za odkrivanje in konfiguracijo storitev porazdeljenih sistemov, z vgrajenim okvirom za registracijo in odkrivanje storitev, implementacijo protokola za skladnost distribucije, preverjanjem zdravja, shranjevanjem ključev/vrednosti in rešitvami za več podatkovnih centrov, kar je razmeroma enostavno za uporabo.
Odkritje konzulske službe
Kako uporabljati Consul Service Discovery:
- Na vsakem računalniku zaženite konzulskega agenta v načinu odjemalca, ki je odgovoren le za učinkovito izmenjavo najnovejših registracijskih podatkov s konzularno skupino (ne sodeluje pri volitvah vodje).
- Storitev na vsakem računalniku registrira ime storitve in URL storitve pri lokalnem konzulskem agentu
- Ko program, nameščen na Računalniku1, potrebuje klic storitveB, program ServiceA neposredno pridobi dostopni naslov storitve od lokalnega konzulskega agenta preko imena storitve in nato neposredno pošlje zahtevo na URL storitve B.
Koda je naslednja:
V tečaju Startup pokličite takole:
Zdravstveni pregled
Vmesnik za preverjanje zdravja mora konzulu vrniti le statusno kodo 200, koda pa je naslednja:
Začni projekt, prijavi se na storitev
Krmilnik lahko določi testno metodo na naslednji način:
Pojdimo v mapo bin projekta in ga začnimo preko ukazne vrstice, koda je naslednja:
Povezavo si oglejte v svojem brskalniku:
http://127.0.0.1:8500/ui/dc1/services/test.itsvse
http://127.0.0.1:8500/v1/catalog/service/test.itsvse
Podatki json so naslednji:
[ { "ID": "bb644359-6b2a-a27e-7a0a-a1950b8e515f", "Node": "DESKTOP-EB7B69D", "Naslov": "127.0.0.1", "Podatkovni center": "dc1", "TaggedAddresses": { "lan": "127.0.0.1", "WAN": "127.0.0.1" }, "NodeMeta": { "Konzul-mreža-segment": "" }, "ServiceKind": "", "ServiceID": "507338bf-a5a6-4013-9675-c43a40a2c1a0", "ServiceName": "test.itsvse", "ServiceTags": [ "preizkus", "itsvse" ], "ServiceAddress": "127.0.0.1", "ServiceWeights": { "Passing": 1, "Opozorilo": 1 }, "ServiceMeta": {}, "ServicePort": 8083, "ServiceEnableTagOverride": napačno, "ServiceProxy": { "MeshGateway": {}, "Expose": {} }, "ServiceConnect": {}, "CreateIndex": 1317, "ModifyIndex": 1317 }, { "ID": "bb644359-6b2a-a27e-7a0a-a1950b8e515f", "Node": "DESKTOP-EB7B69D", "Naslov": "127.0.0.1", "Podatkovni center": "dc1", "TaggedAddresses": { "lan": "127.0.0.1", "WAN": "127.0.0.1" }, "NodeMeta": { "Konzul-mreža-segment": "" }, "ServiceKind": "", "ServiceID": "bb21f150-7219-4eda-bc91-54686a750228", "ServiceName": "test.itsvse", "ServiceTags": [ "preizkus", "itsvse" ], "ServiceAddress": "127.0.0.1", "ServiceWeights": { "Passing": 1, "Opozorilo": 1 }, "ServiceMeta": {}, "ServicePort": 8082, "ServiceEnableTagOverride": napačno, "ServiceProxy": { "MeshGateway": {}, "Expose": {} }, "ServiceConnect": {}, "CreateIndex": 1314, "ModifyIndex": 1314 }
]
Poklic konzula
Ustvarite nov .NET Core konzolni projekt z naslednjo kodo:
Naključno kličem registrirano storitev test.itssve in rezultat je naslednji:
Nazadnje, prenos izvorne kode:
Turisti, če želite videti skrito vsebino te objave, prosim Odgovoriti |