Spring Cloud Bus 적용하기

반응형
728x90
반응형

현재 프로젝트 목록

  • Prj1. Config 

-> 여러 Service 프로젝트들의 Config를 공통으로 관리하는 프로젝트

 

  • Prj2. API-Gateway

-> 여러 Service 프로젝트들의 Gateway 역할을 하는 프로젝트

 

  • Prj3. User-Service

-> User, Order, OrderItem 등 여러 서비스 프로젝트들 중에 유저 프로젝트

 

 

User-Service 프로젝트

우선 서비스 프로젝트들 중 하나인 User-Service 프로젝트에 추가 설정을 해보자.

 

  • 1) pom.xml
<!-- bus -->
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>

 

  • 2) application.yml
spring:
  application:
    name: user-service
  rabbitmq:
    host: 127.0.0.1
    port: 5672
    username: guest
    password: guest

 

rabbitmq 내용을 추가하였다.

 

 

APIGateway 프로젝트

위 User-Service 프로젝트와 동일하게 설정을 추가한다.

 

  • 1) pom.xml
<!-- bus -->
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>

 

  • 2) application.yml
spring:
  application:
    name: apigateway-service
  rabbitmq:
    host: 127.0.0.1
    port: 5672
    username: guest
    password: guest

 

rabbitmq 내용을 추가하였다.

 

 

Config  프로젝트

  • 1) pom.xml
<!-- bus -->
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>

 

  • 2) application.yml
spring:
  application:
    name: config
  rabbitmq:
    host: 127.0.0.1
    port: 5672
    username: guest
    password: guest
 
 
 
 management:
  endpoints:
    web:
      exposure:
        include: refresh, bursefresh

 

 

rabbitmq 내용을 추가하였다. 그리고 추가로 actuator 설정도 추가했다.

 

이로써, Config 설정을 변경하였을때 적용하고자 하는 모든 프로젝트의 /refresh 를 호출해줄 필요 없이 /bursefresh 을 한번만 호출해준다면 연결되어있는 모든 프로젝트에 적용이 될 것이다.

 

rabbitmq 가 config 설정이 변경되었다는 이벤트를 받게되면, 이에 연결되어있는 모든 프로젝트들에 push가 된다.

 

 

반응형

Designed by JB FACTORY