Bygge mikrotjenester med Spring Boot – Spring Cloud Netflix Eureka-register
«Mikrotjenester» er et av de viktigste emnene som har blitt populære i det siste. Her vil jeg beskrive den trinnvise utviklingsprosessen som vi kan følge for å bygge et mikrotjenesteprosjekt ved hjelp av Spring Boot med noen få mikrotjenester og Eureka tjenesteregister.
Teknologi-stack:
- Java 8
- Spring Boot
- Spring Cloud
- Eureka Service Registry / Eureka Service Client
- Mongo DB
- Zuul API Gateway
- JWT-basert autentiseringslag
- Spring Security
- Gradle
- Docker
Bygge et Eureka tjenesteregister
«Service Registry», eller tjenesteregisteret, er hjertet i et mikrotjenesteprosjekt, fordi det er den sentrale tjenesten der alle tjenestene og rutetilbydere kobler seg til. Vi kan bygge et tjenesteregister ved hjelp av et enkelt Spring Boot-prosjekt ved å legge til Spring Cloud Netflix Eureka-registerfunksjoner.
Du kan bruke Spring Initializr til å generere et grunnleggende Spring Boot-prosjekt.
Det kan gjøres ved å legge til biblioteket «org.springframework.cloud:spring-cloud-starter-netflix-eureka-server
» til Spring Boot-programmet og legge til @EnableEurekaServe
r på hovedklassen.
Bygge tjenester og register med Eureka tjenesteregister
Nå som vi har et tjenesteregister som er konfigurert og kjører riktig, kan vi fokusere på å bygge tjenester og registrere disse i tjenesteregistret. Så kan vi fokusere på å bygge tjenester og registrere disse i tjenesteregistret. For å gjøre det må vi legge til biblioteket «org.springframework.cloud:spring-cloud-starter-netflix-eureka-client
» til Spring Boot-programmet og legge til @EnableEurekaClient
i hovedklassen. Disse to trinnene vil klargjøre mikrotjenesten for registreringen i Eureka server. Men hvordan kan mikrotjenesten vite hvor den skal koble seg til? Det kan gjøres ved hjelp av konfigurasjoner.
La oss si at applikasjonsregisteret vårt kjører på http://localhost:3000 – da kan vi introdusere applikasjonsregisteret til klienten ved å legge til
eureka.client.serviceUrl.defaultZone=http://localhost:3000/eureka
til klienters application.properties.
Da vil klienttjenesten registrere seg i tjenesteregistret når den starter.