설정 정보 반영하는 방법 세 가지
1. 서버 재기동
2. Actuator Refresh
3. Spring Cloud Bus
1 -> 2로 가면서 동적으로 설정 정보 변경이 가능하나 각 서비스에 대해 해줘야 한다
3은 일괄 적용 가능
Cloud Bus 개념
클라우드 버스 자체는 애플리케이션들 사이의 상태 변화를 감지하고 이벤트를 전파해서 전체 시스템 간의 상호작용과 동기화를 하는 것을 뜻한다
수단은 메시지 브로커(RabbitMQ, Apache Kafka)(AMQP)를 사용해서 이벤트를 송수신한다
강의에서는 설정 정보를 애플리케이션들에 일괄 반영(broadcast)하기 위해 사용했다
Erlang, Rabbit MQ 설치
역시나... 한번에 되지 않았다
Rabbit 이전 버전 installer 를 못찾아서 결국은 아래 버전으로 진행했다
- Erlang v25.3.2- Rabbit MQ v3.11.16
해당 래빗의 호환되는 최소 Erlang 버전이 25인데, 그 중에서 minor 버전이 가장 높은 것을 선택했다
문제는 앞서 말했듯 한 번에 안됨...
해결법은 아래와 같다
C:\Program Files\RabbitMQ Server\rabbitmq_server-3.11.16\sbin
위 경로로 들어가서 아래 명령을 실행
rabbitmq-server -detached
만일 안된다면 아래 명령을 cmd 관리자모드에서 실행한다
rabbitmq-service.bat remove
rabbitmq-service.bat install
rabbitmq-server -detached
rabbitmq-plugins enable rabbitmq_management
위 처럼 나오면 성공이다
참고
윈도우 rabbitMQ 설치했는데 15672 접속이 안됩니다.. - 인프런 | 질문 & 답변 (inflearn.com)
RabbitMQ Server - 윈도우에 설치 및 동작 시키기 : 네이버 블로그 (naver.com)
Rabbit MQ 스프링 연결
아래 정보를 추가한다
dependencies {
// config client
implementation 'org.springframework.cloud:spring-cloud-starter-config'
implementation 'org.springframework.cloud:spring-cloud-starter-bootstrap'
// actuator
implementation 'org.springframework.boot:spring-boot-starter-actuator'
// AMQP for Spring Cloud Bus
implementation 'org.springframework.cloud:spring-cloud-starter-bus-amqp'
}
spring:
rabbitmq:
host: localhost
port: 5672
username: guest
password: guest
management.endpoints.web.exposure.include: busrefresh
아래로 요청을 보낸다, Rabbit MQ Bus를 호출하는 것이므로 어느 곳에서 하던 상관 없다
### Bus Refresh
POST http://localhost:8000/actuator/busrefresh
아래와 같이 나오면 성공한 것
'Book & Lecture > 이도원님 MSA' 카테고리의 다른 글
Section 10: Micro Service간 통신 (0) | 2023.06.03 |
---|---|
Section 7: Cloud Configuration (0) | 2023.05.24 |
Section 6: User Service (Security in Spring Boot 3.x) (삽질..) (0) | 2023.05.22 |
Section 3 ~ 5 E-Commerse App, User, Catalog, Orders MicroSerivce (0) | 2023.05.22 |
Secion 0~2: Micro Service와 Spring Cloud 소개, Service Discovery, API Gateway (0) | 2023.05.22 |
hi hello... World >< 가장 아름다운 하나의 해답이 존재한다
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!