MSA9 RabbitMQ 기존에 구현한 config-service의 설정 값이 변경된다면 이와 연동된 프로젝트를 재기동해야하는 번거로움이 있었다. 이를 위해 spring cloud bus를 이용해 변경된 값을 적용해본다. Spring cloud bus는 동적으로 config 변경을 적용하기 위한 MQ(Message Queue) Handler 이번 글에는 rabbitMQ를 통해 설정값을 반영하도록 한다. Spring cloud bus는 상태 및 구성에 대한 변경사항을 연결된 노드들(마이크로 서비스)에게 전달하는 역할 그리고 각각의 노드(마이크로서비스)들은 경량 메시지 브로커와 연결되어 있는 상태 POST 방식으로 /busrefresh 를 호출 - 근데 어디에 호출해야할까? 어떤 서비스든 상관없다. Spring Cloud Bus에 .. 2023. 9. 4. Config service 프로젝에 필요한 설정들을 별도로 관리하는 config server 프로젝트를 생성한다. org.springframework.cloud spring-cloud-config-server 디펜던시에 spring cloud config server를 추가한후 메인 어플리케이션에 @EnableConfigServer 어노테이션을 추가하도록 한다. cloud: config: server: git: #uri: https://github.com/lhw7511/spring-cloud-config uri: file:///config file 경로 config 파일경로에 컨피그이름.yml 또는 컨피그이름-액티브이름.yml 액티브는(dev,prod 등 상황과 환경에따른 분리파일들) 컨피그파일 이름을 ecommerce라고 설정한.. 2023. 9. 4. Spring Cloud GateWay API Gateway는 서비스로 전달되는 모든 API 요청의 관문 역할을 한다. 내부 서버 시스템의 아키텍처를 내부로 숨기고 외부의 요청에 대한 적절한 응답을 한다. 즉, 클라이언트가 내부 구조를 알 필요없이 약속한 형태의 API의 통신하는 것이다. spring cloud gateway 디펜던시를 추가한 프로젝트 생성 후 이 프로젝트 역시 유레카 서버에 등록한다. eureka: client: register-with-eureka: true fetch-registry: true service-url: defaultZone: http://127.0.0.1:8761/eureka 그 후 cloud.gateway.routes 정보에 각각의 서비스의 id, uri정보와 추가적인 path, filter정보를 설정해줄.. 2023. 9. 4. 예제프로젝트 user-service MSA 강의에서 진행하는 간단한 커머스 예제 프로젝트 중 유저서비스 부분이다. 디스커버리서비스는 기존에 만들어두었단 유레카서버를 그대로 사용하고 유저서비스를 유레카서버에 등록한다. server: port: 0 spring: application: name : user-service h2: console: enabled: true settings: web-allow_others: true path: /h2-console datasource: driver-class_name: org.h2.Driver url: jdbc:h2:mem:test eureka: instance: instance-id: ${spring.cloud.client.hostname}:${spring.application.instance_id.. 2023. 6. 22. 이전 1 2 3 다음