Otsikossa näimme kolme buzzwordia:

  1. Mikropalvelut
  2. Netflix Eureka
  3. Discovery (rekisteri)

Mikä on mikropalvelu?

Yksikertaisesti sanottuna mikropalvelu(t) ovat pienten sovellusten klustereita, jotka toimivat yhdessä koordinoidusti tarjotakseen kokonaisratkaisun.

Kun puhutaan monista pienistä sovelluksista, jotka toimivat itsenäisesti yhdessä, niin niillä kaikilla on omat URL-osoitteensa ja porttinsa. Siinä skenaariossa olisi hyvin hankalaa ylläpitää kaikkia näitä mikropalveluja, jotta ne toimisivat synkronoidusti, ja mikä tärkeintä, seurannan kanssa. Tämä ongelma kasvaa moninkertaiseksi, kun alamme ottaa käyttöön kuormantasaajia.

Tämän ongelman ratkaisemiseksi tarvitsemme työkalun, joka valvoo ja ylläpitää kaikkien ekosysteemissä olevien mikropalveluiden rekisteriä.

Mikä on Netflix Eureka?

Tämä on Netflixin tarjoama työkalu, joka tarjoaa ratkaisun edellä mainittuun ongelmaan. Se koostuu Eureka-palvelimesta ja Eureka-asiakkaista. Eureka Server on itsessään mikropalvelu, johon kaikki muut mikropalvelut rekisteröityvät. Eureka-asiakkaat ovat itsenäisiä mikropalveluja. Katsomme, miten tämä konfiguroidaan mikropalveluekosysteemissä.

Luotaan Spring Bootin avulla muutama mikropalvelu, jotka toimivat Eureka-asiakkaina ja Discovery Server, joka on Eureka-palvelin. Tässä on koko projektin rakenne:

microservice1

Keskustellaan Eureka Discovery Serveristä

Tämä on Eureka Server, ja sitä varten meidän täytyy sisällyttää Eureka-riippuvuus projektiin. Alla on Eureka Discovery Serverin pom.xml-tiedosto.

microService2

Meidän on myös päivitettävä tämän projektin ominaisuustiedosto osoittamaan, että kyseessä on Discovery Server eikä asiakas.

eureka.instance.hostname=localhosteureka.client.register-with-eureka=falseeureka.client.fetch-registry=false

Sidotaksemme discovery-sovelluksen tiettyyn porttiin ja antaaksemme sovellukselle nimen, meidän on lisättävä myös seuraavat:

server.port=8000spring.application.name=DiscoveryServer

microService3

Viimeiseksi on vielä kommentoitava Spring Boot -sovellus, jotta tämä saadaan käyttöön Eureka-palvelimena. Tätä varten meidän on lisättävä @EnableEurekaServer .

microService4

Käynnistämällä sovelluksen näemme Eurekan tarjoaman käyttöliittymän, joka listaa kaikki rekisteröityneet palvelimet. Mutta tässä vaiheessa meillä ei ole yhtään!

microService5

Lisätään nyt muutama mikropalvelu ekosysteemiin ja rekisteröidään ne Discovery-palvelimelle. Tätä varten meidän on myös lisättävä kussakin palvelussa tarvittavat riippuvuudet ja rekisteröitävä ne palvelimelle. Näemme miten yksityiskohtaisesti alla.

Olen luonut Spring Bootilla kolme yksinkertaista mikropalvelua (mikropalvelu1, mikropalvelu2, mikropalvelu3), joista jokainen toimii omassa portissaan (8002, 8003 ja 8004).

mikropalvelu6

Clienttinä sen pitäisi rekisteröityä palvelimelle, ja se tapahtuu property-tiedostossa, kuten alla.

microService7

Pääsovellus merkitään @EnableEurekaClient jokaisessa mikropalvelussa.

microService8

Käynnistetään tämä sovellus ajettavaksi portissa 8004, ja se rekisteröi itsensä automaattisesti Discovery-palvelimeen. Samalla tavalla olen luonut kaksi muuta mikropalvelua ja rekisteröin ne Discovery-palvelimelle.

microService9

Näemme, että ekosysteemissä on käynnissä kolme palvelinta ja voimme myös seurata näiden palvelinten tilaa.

Tämä helpottaa kaikkien palvelimien ja niiden replikaatioiden seurantaa, jos käytämme kuorman tasausta.

Toivottavasti tämä auttaa sinua pääsemään alkuun Discovery Serverin ja Clientsin käyttämisessä Eurekan avulla.

Vastaa

Sähköpostiosoitettasi ei julkaista.