Teknologian jakaminen

Johdatus "Service Discovery Mechanism" -palveluun mikropalveluissa

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

  • Mikropalveluiden palvelunhakumekanismi on menetelmä dynaamisesti paikantaa palveluinstanssit viestintää varten mikropalveluarkkitehtuurissa.

  • Se luottaa pääasiassa rekisteröintikeskukseen palvelun rekisteröinnin, kyselyn ja kuormituksen tasauksen tukemiseksi, mikä parantaa järjestelmän skaalautuvuutta ja joustavuutta.

1. Peruskäsitteet

Palvelun etsintä tarkoittaa prosessia, jossa hajautetun järjestelmän käytettävissä olevat palvelut löydetään ja tunnistetaan automaattisesti.

Mikropalveluarkkitehtuurissa palvelut on jaettu useisiin pieniin ja itsenäisiin palveluihin, jotka ovat hajallaan eri palvelimilla, joten palveluiden etsintämekanismia tarvitaan tehokkaan viestinnän varmistamiseksi palveluiden välillä.

2. Päävaiheet

  • Palvelun rekisteröinti

    • Kun mikropalveluinstanssi käynnistyy, se rekisteröi verkon sijaintitietonsa (kuten IP-osoitteen ja porttinumeron) ja palvelun tunnisteen palvelun rekisteröintikeskukseen.
    • Tämä rekisteröintiprosessi on yleensä automaattinen eikä vaadi ihmisen väliintuloa.
    • Rekisteröintikeskus vastaa kaikkien palveluesiintymien rekisteröintitietojen ylläpidosta ja palveluesiintymien dynaamisen rekisteröinnin ja rekisteristä poistamisen tukemisesta.
  • Palvelukysely

    • Kun mikropalvelun täytyy soittaa toiseen mikropalveluun, se kysyy palvelurekisteristä tarvittavan palvelun tällä hetkellä saatavilla olevan verkko-osoitteen.
    • Rekisteröintikeskus palauttaa palveluinstanssien osoiteluettelon, ja soittaja voi valita palveluinstanssin kommunikaatiota varten kuormituksen tasapainotuskäytännön mukaisesti.

3. Tärkeimmät komponentit

  • Palvelurekisteri

    • Se on palvelunhakumekanismin ydinkomponentti ja vastaa kaikkien palveluilmentymien rekisteröintitietojen hallinnasta ja tallentamisesta.
    • Se tarjoaa API-rajapinnan palveluesiintymille toimintojen rekisteröintiä ja peruuttamista varten, ja tukee myös palvelun kuluttajia kyselemään palveluinstanssien rekisteröintitietoja.
  • Palveluntarjoaja

    • Se on mikropalveluinstanssi, joka tarjoaa tietyn palvelun.
    • Se rekisteröi omat palvelutietonsa palvelurekisteriin käynnistyessään ja poistaa omat palvelutietonsa poistuessaan.
  • Palvelun kuluttaja

    • Se on mikropalveluinstanssi, jonka on kutsuttava muita palveluita.
    • Se saa tarvittavan palvelun verkko-osoitteen tekemällä kyselyn palvelurekisteristä ja muodostaa yhteyden siihen.

4. Palvelunhakumekanismin käyttöönotto

Palvelun etsintämekanismi voidaan jakaa kahteen tyyppiin: asiakashaku ja palvelinetsintä toteutustavan mukaan:

  • asiakkaan etsintätila

    • Asiakas vastaa kyselyn tekemisestä rekisteröintikeskuksesta, luettelon saamisesta saatavilla olevista palveluista ja vuorovaikutuksesta suoraan palveluinstanssien kanssa kuormituksen tasapainotuskäytännön mukaisesti.
    • Etuna on, että asiakas voi joustavasti muotoilla kuormituksen tasausstrategioita, mikä vähentää riippuvuutta palvelurekisteröintikeskuksesta.
    • Haittapuolena on, että asiakkaan on otettava käyttöön monimutkainen etsintälogiikka, mikä lisää koodin monimutkaisuutta ja ylläpitokustannuksia.
  • Palvelimen etsintätila

    • Asiakas lähettää pyynnön palvelimelle (yleensä API-yhdyskäytävä tai palveluvälityspalvelin), ja palvelin vastaa kyselyn tekemisestä rekisteröintikeskuksesta ja pyynnön välittämisestä varsinaiselle palveluinstanssille.
    • Etuna on, että se yksinkertaistaa asiakkaan käyttöönottoa ja vähentää koodin monimutkaisuutta ja ylläpitokustannuksia.
    • Haittapuolena on, että se lisää järjestelmän viivettä ja vikapisteitä, koska kaikki pyynnöt on välitettävä palvelimen kautta.

5. Palvelunhakumekanismin edut

  • Vähennä palveluiden välistä yhteyttä

    • Mikropalveluiden ei tarvitse tietää suoraan toistensa verkko-osoitetta, niiden tarvitsee vain kommunikoida palvelun rekisteröintikeskuksen kautta.
  • Paranna järjestelmän skaalautuvuutta ja joustavuutta

    • Kun palvelut muuttuvat dynaamisesti (kuten laajeneminen, vähentäminen, siirtyminen jne.), palvelun rekisteröintikeskus voi päivittää palveluilmentymien tietoja reaaliajassa varmistaakseen, että palveluiden välinen viestintä ei vaikuta.
  • Tukee kuormituksen tasapainotusta ja vikasietoa

    • Asiakas voi hankkia useiden palveluinstanssien osoiteluettelon palvelun rekisteröintikeskuksesta ja valita niistä yhden kommunikaatiota varten kuormituksen tasapainotuskäytännön perusteella. Kun palveluesiintymä ei ole käytettävissä, palvelurekisteri voi automaattisesti merkitä sen epäterveeksi ja välttää pyyntöjen lähettämistä sille.

6. Yleiset palvelunhakutyökalut

  • Eureka

    • Netflixin kehittämä palveluiden etsintätyökalu, joka käyttää asiakkaan etsintätilaa. Se on erittäin kevyt ja helppo integroida ja käyttää.
  • Konsuli

    • HashiCorpin kehittämä palveluiden etsintä- ja määrityskeskustyökalu. Se tarjoaa suhteellisen täydellisen ratkaisun, joka sisältää palvelun kuntotarkastuksen ja muut toiminnot, ja tukee HTTP- ja DNS-protokollia.
  • Eläintarhanhoitaja

    • Apache ZooKeeper on avoimen lähdekoodin hajautettu koordinointipalvelu, jota voidaan käyttää myös palveluiden etsimiseen. Se tarjoaa hajautettuja lukkoja, nimeämispalveluita ja muita toimintoja ja tukee useita asiakaskirjastoja.

Mikropalveluarkkitehtuurissa palvelunhakumekanismi toteuttaa palveluinstanssien dynaamiset rekisteröinti- ja kyselytoiminnot rekisteröintikeskuksen kautta, mikä vähentää palveluiden välistä kytkentää ja parantaa järjestelmän skaalautuvuutta ja joustavuutta.