Internet-projektien kehityksessä on välttämätöntä olla vuorovaikutuksessa erilaisten palveluiden kanssa, ja käyttäjät saavat dataa palvelimelta, ja palvelurajapintojen korkea saatavuus on erityisen tärkeää, erityisesti verkkokaupassa ja maksujärjestelmissä, joissa korkea saatavuus mittaa myös järjestelmän toimintakykyä. Klustereiden tapauksessa monet palvelut ovat myös vaikeita ylläpitää.
Konsulin arvostelu
Consul on avoimen lähdekoodin työkalu, jonka on kehittänyt Go-kielellä ja jonka on lanseerannut HashiCorp. Sitä käytetään palveluiden löytämiseen ja konfigurointiin hajautetuissa järjestelmissä, sisältäen sisäänrakennetun palvelun rekisteröinti- ja tunnistuskehyksen, jakelun yhdenmukaisuusprotokollan toteutuksen, terveystarkastuksen, avain-/arvon tallennuksen sekä monidatakeskusratkaisut, jotka ovat suhteellisen helppokäyttöisiä.
Konsulin palvelun löytäminen
Kuinka käyttää Consul Service Discoveryä:
- Ajaa Consul-agentti asiakastilassa jokaisella tietokoneella, joka vastaa vain viimeisimpien rekisteröintitietojen tehokkaasta vaihdosta Consul Clusterin kanssa (ei osallistu johtajan valintaan).
- Palvelupalvelu rekisteröi jokaisella tietokoneella palvelun nimen ja URL-osoitteen paikalliselle konsulin edustajalle
- Kun Computer1:ssä otettu ohjelma tarvitsee kutsua ServiceB:tä, ohjelma ServiceA saa suoraan ServiceB:n pääsyosoitteen paikalliselta konsuliagentilta palvelunimen kautta ja tekee suoraan pyynnön ServiceB:n URL-osoitteeseen.
Koodi on seuraava:
Startup-luokassa kutsu seuraavasti:
Terveystarkastus
Terveystarkastusrajapinnan tarvitsee palauttaa konsulille vain 200 tilakoodi, ja koodi on seuraava:
Aloita projekti, ilmoittaudu palveluun
Ohjain voi määritellä testimenetelmän seuraavasti:
Mennään projektin bin-kansioon ja aloitetaan komentoriviltä, koodi on seuraava:
Katso linkki selaimessasi:
http://127.0.0.1:8500/ui/dc1/services/test.itsvse
http://127.0.0.1:8500/v1/catalog/service/test.itsvse
JSON-tiedot ovat seuraavat:
[ { "ID": "bb644359-6b2a-a27e-7a0a-a1950b8e515f", "Node": "DESKTOP-EB7B69D", "Osoite": "127.0.0.1", "Datakeskus": "dc1", "TaggedAddresses": { "lan": "127.0.0.1", "wan": "127.0.0.1" }, "NodeMeta": { "konsuli-verkosto-segmentti": "" }, "ServiceKind": "", "ServiceID": "507338bf-a5a6-4013-9675-c43a40a2c1a0", "ServiceName": "test.itsvse", "ServiceTags": [ "testi", "itsvse" ], "Palveluosoite": "127.0.0.1", "ServiceWeights": { "Passing": 1, "Varoitus": 1 }, "ServiceMeta": {}, "ServicePort": 8083, "ServiceEnableTagOverride": väärin, "ServiceProxy": { "MeshGateway": {}, "Paljasta": {} }, "ServiceConnect": {}, "CreateIndex": 1317, "MuokkaaIndeksi": 1317 }, { "ID": "bb644359-6b2a-a27e-7a0a-a1950b8e515f", "Node": "DESKTOP-EB7B69D", "Osoite": "127.0.0.1", "Datakeskus": "dc1", "TaggedAddresses": { "lan": "127.0.0.1", "wan": "127.0.0.1" }, "NodeMeta": { "konsuli-verkosto-segmentti": "" }, "ServiceKind": "", "ServiceID": "bb21f150-7219-4eda-bc91-54686a750228", "ServiceName": "test.itsvse", "ServiceTags": [ "testi", "itsvse" ], "Palveluosoite": "127.0.0.1", "ServiceWeights": { "Passing": 1, "Varoitus": 1 }, "ServiceMeta": {}, "ServicePort": 8082, "ServiceEnableTagOverride": väärin, "ServiceProxy": { "MeshGateway": {}, "Paljasta": {} }, "ServiceConnect": {}, "CreateIndex": 1314, "ModifyIndex": 1314 }
]
Konsulin palvelukutsu
Luo uusi .NET Core -konsoliprojekti seuraavalla koodilla:
Soitan satunnaisesti rekisteröityyn test.itsvse-palveluun ja tulos on seuraava:
Lopuksi, lähdekoodin lataus:
Turistit, jos haluatte nähdä tämän postauksen piilotetun sisällön, olkaa hyvä Vastaus |