Interneta projektu izstrādē ir nepieciešams mijiedarboties ar dažādiem pakalpojumiem, un lietotāji iegūst datus no servera, un pakalpojumu saskarņu augsta pieejamība ir īpaši svarīga, jo īpaši e-komercijas un maksājumu sistēmās, kur augsta pieejamība arī mēra, vai sistēma ir stabila. Klasteru gadījumā daudzus pakalpojumus ir grūti uzturēt.
Konsula apskats
Consul ir atvērtā koda rīks, kas izstrādāts Go valodā, ko uzsāka HashiCorp, kas tiek izmantots, lai realizētu pakalpojumu atklāšanu un sadalīto sistēmu konfigurēšanu ar iebūvētu pakalpojumu reģistrācijas un atklāšanas sistēmu, izplatīšanas konsekvences protokola ieviešanu, veselības pārbaudi, atslēgu / vērtību glabāšanu un vairāku datu centru risinājumiem, kas ir salīdzinoši vienkārši lietojami.
Konsula pakalpojumu atklāšana
Kā lietot konsula pakalpojumu atklāšanu:
- Katrā datorā palaist konsula aģentu klienta režīmā, kas ir atbildīgs tikai par jaunākās reģistrācijas informācijas efektīvu apmaiņu ar konsulu klasteri (nepiedaloties līdera vēlēšanās).
- Pakalpojuma pakalpojums katrā datorā reģistrē pakalpojuma nosaukumu un URL pie vietējā konsula aģenta
- Ja Computer1 izvietotai programmai ir jāizsauc ServiceB, programma ServiceA tieši iegūst ServiceB piekļuves adresi no vietējā konsula aģenta, izmantojot pakalpojuma nosaukumu, un pēc tam tieši veic pieprasījumu uz ServiceB URL.
Kods ir šāds:
Startēšanas klasē zvaniet šādi:
Veselības pārbaude
Veselības pārbaudes saskarnei ir jāatgriež konsulam tikai 200 statusa kods, un kods ir šāds:
Sāciet projektu, reģistrējieties pakalpojumam
Kontrolieris var definēt testēšanas metodi šādi:
Dosimies uz projekta tvertņu direktoriju un sāksim to, izmantojot komandrindu, kods ir šāds:
Skatiet saiti savā pārlūkprogrammā:
http://127.0.0.1:8500/ui/dc1/services/test.itsvse
http://127.0.0.1:8500/v1/catalog/service/test.itsvse
JSON dati ir šādi:
[ { "ID": "bb644359-6b2a-a27e-7a0a-a1950b8e515f", "Mezgls": "DESKTOP-EB7B69D", "Adrese": "127.0.0.1", "Datu centrs": "dc1", "TaggedAddresses": { "lan": "127.0.0.1", "wan": "127.0.0.1" }, "NodeMeta": { "konsula tīkla segments": "" }, "ServiceKind": "", "Pakalpojuma ID": "507338bf-a5a6-4013-9675-c43a40a2c1a0", "ServiceName": "test.itsvse", "ServiceTags": [ "pārbaude", "itsvse" ], "ServiceAddress": "127.0.0.1", "Pakalpojuma svari": { "Pāreja": 1, "Brīdinājums": 1 }, "ServiceMeta": {}, "ServicePort": 8083, "ServiceEnableTagOverride": false, "ServiceProxy": { "MeshGateway": {}, "Atklāt": {} }, "ServiceConnect": {}, "Izveidot indeksu": 1317, "Modificēt indeksu": 1317 }, { "ID": "bb644359-6b2a-a27e-7a0a-a1950b8e515f", "Mezgls": "DESKTOP-EB7B69D", "Adrese": "127.0.0.1", "Datu centrs": "dc1", "TaggedAddresses": { "lan": "127.0.0.1", "wan": "127.0.0.1" }, "NodeMeta": { "konsula tīkla segments": "" }, "ServiceKind": "", "Pakalpojuma ID": "bb21f150-7219-4eda-bc91-54686a750228", "ServiceName": "test.itsvse", "ServiceTags": [ "pārbaude", "itsvse" ], "ServiceAddress": "127.0.0.1", "Pakalpojuma svari": { "Pāreja": 1, "Brīdinājums": 1 }, "ServiceMeta": {}, "ServicePort": 8082, "ServiceEnableTagOverride": false, "ServiceProxy": { "MeshGateway": {}, "Atklāt": {} }, "ServiceConnect": {}, "CreateIndex": 1314, "Modificēt indeksu": 1314 }
]
Konsula dienesta zvans
Izveidojiet jaunu .NET Core konsoles projektu ar šādu kodu:
Es nejauši zvanu uz reģistrēto test.itsvse pakalpojumu, un rezultāts ir šāds:
Visbeidzot, avota koda lejupielāde:
Tūristi, ja vēlaties redzēt šīs ziņas slēpto saturu, lūdzu Atbildi |