Skip to content

wildmakaka/spring-boot-microservices-workshop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

[Java Brains] Spring Boot Microservices [ENG, 2019]


YouTube:
https://www.youtube.com/c/JavaBrainsChannel/playlists?view=50&sort=dd&shelf_id=4


original src:
https://github.com/koushikkothagal/spring-boot-microservices-workshop


Application


Development


01. Spring Boot Microservices Level 1: Communication and Discovery


$ cd apps

$ curl https://start.spring.io/starter.zip \
  -d language=java \
  -d javaVersion=11 \
  -d platformVersion=2.6.1 \
  -d dependencies=web,webflux,cloud-eureka \
  -d packaging=jar \
  -d jvmVersion=11 \
  -d groupId=org.javadev \
  -d artifactId=movie-catalog-service \
  -d name=movie-catalog-service \
  -d description=Spring%20Boot%20Microservices \
  -d packageName=org.javadev.movie-catalog-service \
  -o movie-catalog-service.zip


$ curl https://start.spring.io/starter.zip \
  -d language=java \
  -d javaVersion=11 \
  -d platformVersion=2.6.1 \
  -d dependencies=web,cloud-eureka \
  -d packaging=jar \
  -d jvmVersion=11 \
  -d groupId=org.javadev \
  -d artifactId=ratings-data-service \
  -d name=ratings-data-service \
  -d description=Spring%20Boot%20Microservices \
  -d packageName=org.javadev.ratings-data-service \
  -o ratings-data-service.zip
 

$ curl https://start.spring.io/starter.zip \
  -d language=java \
  -d javaVersion=11 \
  -d platformVersion=2.6.1 \
  -d dependencies=web,cloud-eureka \
  -d packaging=jar \
  -d jvmVersion=11 \
  -d groupId=org.javadev \
  -d artifactId=movie-info-service \
  -d name=movie-info-service \
  -d description=Spring%20Boot%20Microservices \
  -d packageName=org.javadev.movie-info-service \
  -o movie-info-service.zip

$ curl https://start.spring.io/starter.zip \
  -d language=java \
  -d javaVersion=11 \
  -d platformVersion=2.6.1 \
  -d dependencies=cloud-eureka-server \
  -d packaging=jar \
  -d jvmVersion=11 \
  -d groupId=org.javadev \
  -d artifactId=discovery-server \
  -d name=discovery-server \
  -d description=Spring%20Boot%20Microservices \
  -d packageName=org.javadev.discovery-server \
  -o discovery-server.zip

$ unzip movie-catalog-service.zip -d ./movie-catalog-service
$ unzip ratings-data-service.zip  -d ./ratings-data-service
$ unzip movie-info-service.zip  -d ./movie-info-service
$ unzip discovery-server.zip  -d ./discovery-server

$ rm movie-catalog-service.zip
$ rm ratings-data-service.zip
$ rm movie-info-service.zip
$ rm discovery-server.zip

$ ./mvnw spring-boot:run

http://localhost:8081/catalog/foo


movie-catalog-service/pom.xml


<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-webflux</artifactId>
</dependency>

19 Starting a Eureka server

DiscoveryServerApplication.java


***
@EnableEurekaServer
***

$ vi src/main/resources/application.properties 

server.port=8761
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false

http://localhost:8761/


OK!


20 Creating Eureka clients


Eureka server should be in the running state


{clients}/pom.xml


<spring-cloud.version>2021.0.0</spring-cloud.version>

  <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
  </dependency>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-dependencies</artifactId>
        <version>${spring-cloud.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <repositories>
    <repository>
      <id>spring-milestones</id>
      <name>Spring Milestones</name>
      <url>https://repo.spring.io/milestone</url>
    </repository>
  </repositories>

Application


21 Discovering services through Eureka

http://localhost:8081/catalog/foo

OK!


02. Spring Boot Microservices Level 2: Fault Tolerance and Resilience


04. Calling an external API


https://themoviedb.org/


http://localhost:8081/catalog/foo

OK!


Application


Application


16 Adding Hystrix to a Spring Boot app


Application




Marley

Any questions on eng: https://javadev.org/chat/
Любые вопросы на русском: https://javadev.ru/chat/

Releases

No releases published

Packages

No packages published

Languages