Internetiprojektide arendamisel on vajalik suhelda erinevate teenustega ning kasutajad saavad andmeid serverist ning teenuseliideste kõrge kättesaadavus on eriti oluline, eriti e-kaubanduses ja maksesüsteemides, kus kõrge kättesaadavus mõõdab ka süsteemi vastupidavust. Klastrite puhul on paljusid teenuseid samuti raske hooldada.
Konsuli ülevaade
Consul on avatud lähtekoodiga tööriist, mis on arendatud Go keeles ja mille käivitas HashiCorp ning mida kasutatakse hajutatud süsteemide teenuste avastamiseks ja seadistamiseks, sisaldades sisseehitatud teenuste registreerimise ja avastamise raamistikku, jaotuse järjepidevusprotokolli rakendamist, tervisekontrolli, võtme/väärtuse salvestamist ning mitme andmekeskuse lahendusi, mis on suhteliselt lihtsad kasutada.
Konsuli teenistuse avastamine
Kuidas kasutada Consul Service Discovery't:
- Käivita igal arvutil kliendirežiimis konsuli agent, kes vastutab ainult viimaste registreerimisandmete tõhusa vahetamise eest konsuli klastriga (ei osale juhi valimisel).
- Teenuseteenus registreerib igas arvutis teenuse nime ja teenuse URL-i kohaliku konsuli agendi juures
- Kui programm, mis on paigaldatud Computer1-le, peab kutsuma ServiceB-d, saab programm ServiceA otse ServiceB ligipääsuaadressi kohalikult konsulagendilt teenuse nime kaudu ning seejärel esitab otse päringu ServiceB URL-ile.
Kood on järgmine:
Startup-klassis kutsu järgmiselt:
Tervisekontroll
Tervisekontrolli liides peab tagastama konsulile ainult 200 olekukoodi ning kood on järgmine:
Alusta projekti, registreeru teenusele
Kontroller saab defineerida testimeetodi järgmiselt:
Lähme projekti bin-kausta ja alustame seda käsurea kaudu, kood on järgmine:
Vaata linki oma brauseris:
http://127.0.0.1:8500/ui/dc1/services/test.itsvse
http://127.0.0.1:8500/v1/catalog/service/test.itsvse
JSON andmed on järgmised:
[ { "ID": "bb644359-6b2a-a27e-7a0a-a1950b8e515f", "Node": "DESKTOP-EB7B69D", "Aadress": "127.0.0.1", "Andmekeskus": "dc1", "TaggedAddresses": { "lan": "127.0.0.1", "wan": "127.0.0.1" }, "NodeMeta": { "konsul-võrgu-segment": "" }, "ServiceKind": "", "ServiceID": "507338bf-a5a6-4013-9675-c43a40a2c1a0", "ServiceName": "test.itsvse", "ServiceTags": [ "test", "itsvse" ], "ServiceAddress": "127.0.0.1", "ServiceWeights": { "Läbimine": 1, "Hoiatus": 1 }, "ServiceMeta": {}, "ServicePort": 8083, "ServiceEnableTagOverride": vale, "ServiceProxy": { "MeshGateway": {}, "Paljasta": {} }, "ServiceConnect": {}, "CreateIndex": 1317, "Muuda indeksit": 1317 }, { "ID": "bb644359-6b2a-a27e-7a0a-a1950b8e515f", "Node": "DESKTOP-EB7B69D", "Aadress": "127.0.0.1", "Andmekeskus": "dc1", "TaggedAddresses": { "lan": "127.0.0.1", "wan": "127.0.0.1" }, "NodeMeta": { "konsul-võrgu-segment": "" }, "ServiceKind": "", "ServiceID": "bb21f150-7219-4eda-bc91-54686a750228", "ServiceName": "test.itsvse", "ServiceTags": [ "test", "itsvse" ], "ServiceAddress": "127.0.0.1", "ServiceWeights": { "Läbimine": 1, "Hoiatus": 1 }, "ServiceMeta": {}, "ServicePort": 8082, "ServiceEnableTagOverride": vale, "ServiceProxy": { "MeshGateway": {}, "Paljasta": {} }, "ServiceConnect": {}, "CreateIndex": 1314, "Muuda indeksit": 1314 }
]
Konsuli teenistuse kutse
Loo uus .NET Core konsooliprojekt järgmise koodiga:
Helistan juhuslikult registreeritud test.itsvse teenusele ja tulemus on järgmine:
Lõpuks, lähtekoodi allalaadimine:
Turistid, kui soovite näha selle postituse peidetud sisu, palun Vastuse |