Vystant interneto projektus, būtina sąveikauti su įvairiomis paslaugomis, o vartotojai gauna duomenis iš serverio, o didelis paslaugų sąsajų prieinamumas yra ypač svarbus, ypač elektroninės prekybos ir mokėjimo sistemose, kur didelis prieinamumas taip pat matuoja, ar sistema yra tvirta. Klasterių atveju daugelį paslaugų taip pat sunku prižiūrėti.
Konsulo apžvalga
"Consul" yra atvirojo kodo įrankis, sukurtas "Go" kalba, kurį pristatė "HashiCorp", kuris naudojamas paskirstytų sistemų paslaugų aptikimui ir konfigūravimui su integruota paslaugų registravimo ir aptikimo sistema, paskirstymo nuoseklumo protokolo įgyvendinimu, būklės patikrinimu, raktų / vertės saugojimu ir kelių duomenų centrų sprendimais, kuriuos naudoti yra gana paprasta.
Konsulo tarnybos atradimas
Kaip naudotis konsulo tarnybos aptikimu:
- Kiekviename kompiuteryje paleiskite konsulo agentą kliento režimu, kuris yra atsakingas tik už efektyvų keitimąsi naujausia registracijos informacija su konsulo klasteriu (nedalyvaujant lyderio rinkimuose).
- Aptarnavimo tarnyba kiekviename kompiuteryje užregistruoja paslaugos pavadinimą ir URL vietiniame konsulo agente
- Kai kompiuteryje1 įdiegtai programai reikia iškviesti ServiceB, programa ServiceA tiesiogiai gauna ServiceB prieigos adresą iš vietinio konsulo agento per paslaugos pavadinimą ir tiesiogiai pateikia užklausą į ServiceB URL.
Kodas yra toks:
Paleisties klasėje skambinkite taip:
Sveikatos patikrinimas
Sveikatos patikrinimo sąsaja turi grąžinti tik 200 būsenos kodą konsului, o kodas yra toks:
Pradėkite projektą, užsiregistruokite paslaugai
Valdiklis gali apibrėžti bandymo metodą taip:
Eikime į projekto šiukšliadėžės katalogą ir paleiskite jį per komandinę eilutę, kodas yra toks:
Peržiūrėkite nuorodą per savo naršyklę:
http://127.0.0.1:8500/ui/dc1/services/test.itsvse
http://127.0.0.1:8500/v1/catalog/service/test.itsvse
JSON duomenys yra tokie:
[ { "ID": "bb644359-6b2a-a27e-7a0a-a1950b8e515f", "Mazgas": "DARBALAUKIO EB7B69D", "Adresas": "127.0.0.1", "Duomenų centras": "dc1", "TaggedAddresses": { "lan": "127.0.0.1", "wan": "127.0.0.1" }, "NodeMeta": { "konsulo tinklo segmentas": "" }, "ServiceKind": "", "ServiceID": "507338bf-a5a6-4013-9675-c43a40a2c1a0", "ServiceName": "test.itsvse", "ServiceTags": [ "bandymas", "itsvse" ], "ServiceAddress": "127.0.0.1", "ServiceWeights": { "Praeina": 1, "Įspėjimas": 1 }, "ServiceMeta": {}, "ServicePort": 8083, "ServiceEnableTagOverride": klaidinga, "ServiceProxy": { "MeshGateway": {}, "Atskleisti": {} }, "ServiceConnect": {}, "CreateIndex": 1317, "Modifikuoti indeksą": 1317 }, { "ID": "bb644359-6b2a-a27e-7a0a-a1950b8e515f", "Mazgas": "DARBALAUKIO EB7B69D", "Adresas": "127.0.0.1", "Duomenų centras": "dc1", "TaggedAddresses": { "lan": "127.0.0.1", "wan": "127.0.0.1" }, "NodeMeta": { "konsulo tinklo segmentas": "" }, "ServiceKind": "", "ServiceID": "bb21f150-7219-4eda-bc91-54686a750228", "ServiceName": "test.itsvse", "ServiceTags": [ "bandymas", "itsvse" ], "ServiceAddress": "127.0.0.1", "ServiceWeights": { "Praeina": 1, "Įspėjimas": 1 }, "ServiceMeta": {}, "ServicePort": 8082, "ServiceEnableTagOverride": klaidinga, "ServiceProxy": { "MeshGateway": {}, "Atskleisti": {} }, "ServiceConnect": {}, "CreateIndex": 1314, "Modifikuoti indeksą": 1314 }
]
Konsulo tarnybos skambutis
Sukurkite naują .NET Core konsolės projektą naudodami šį kodą:
Atsitiktinai skambinu į registruotą test.itsvse paslaugą ir rezultatas yra toks:
Galiausiai, šaltinio kodo atsisiuntimas:
Turistai, jei norite pamatyti paslėptą šio įrašo turinį, prašome Atsakyti |