파란하늘의 지식창고
Spring Cloud OpenFeign 사용해 보기
Study/Java 2023. 1. 27. 17:19

Spring Cloud OpenFeign 소개 eureka에 여러 application이 등록되었으면 이제 이 정보를 사용하여 호출을 할 수 있게 된다. msa를 사용하게 되면 각 서버들 간 호출의 종속성을 끊어 사용할 수 있다. 도메인도 마찬가지인데 이렇게 끊어놓은 각 서버 간 호출을 매번 restTemplate을 사용하여 작성하면 작성하는 것도 일이고 유지보수 하는 것도 일이다. https://github.com/OpenFeign/feign OpenFeign을 사용하면 api 호출 설정을 간소화하여 interface 선언만으로 호출을 관리할 수 있게 된다. 이런 방식을 선언적 웹 서비스 클라이언트(declarative web service client)라고 한다. Feign은 Neflix OSS 프로..

article thumbnail
Spring Cloud Netflix Eureka Server 사용해 보기
Study/Java 2023. 1. 26. 21:04

Eureka 소개 msa를 구성하면 각 application은 서비스 상황에 따라 트래픽이나 부하가 증가할 경우 인스턴스를 추가로 생성하거나, 반대로 트래픽이나 부하가 감소할 경우 인스턴스를 줄이는 등 microservice에 대한 개별 관리를 하게 되고 이러한 확장과 축소를 수동이 아닌 자동으로 처리를 하여 빈번하게 변화하게 된다. 수시로 변하는 환경을 감지하고 로드 밸런싱을 할 수 있어야 각 msa 간 연계를 관리할 수 있다. 이렇게 동적으로 변하는 환경을 감지하기 위해 Service Discovery 기능을 제공하는 것이 Eureka Server이다. 각 application은 Eureka Client를 통해 Eureka Server로 스스로의 정보를 전달한다. Eureka Server는 이렇게 전..

spring-cloud-netflix-eureka-server 재시작 시 instance 초기화 문제
Study/Java 2023. 1. 3. 18:53

eureka server를 사용해 보려고 설정을 진행하였다. 적절하게 설정을 하고 각 client에서 @EnableDiscoveryClient annotation을 설정하니 instance 등록이 정상적으로 되었다. 이제 잘 사용하면 되는데 문제는 eureka server를 재기동할 때 등록된 instance가 초기화된다는 점이었다. eureka server의 경우 별도의 back end store를 사용하지 않는다. eureka server가 이 문제를 해결하는 방법은 Peer Awareness이다. https://docs.spring.io/spring-cloud-netflix/docs/current/reference/html/#spring-cloud-eureka-server-peer-awareness..

article thumbnail
Spring Cloud Config Server 4.0.0 jdbc profile 사용 변경점
Study/Java 2022. 12. 23. 20:02

Spring Cloud Config Server를 jdbc profile로 사용하여 db를 연동하는 경우 4.0.0 버전으로 변경하고 나서 올바르게 동작하지 않는 문제가 있었다. 별다른 오류가 보이지 않고 호출이 되지 않아 찾기 애매한데 문제가 되는 원인은 바로 다음 변경점 때문이다. https://github.com/spring-cloud/spring-cloud-config/commit/7627b230541a3426345c500efa770545cc81c7ab#diff-a3eaa2bb41eb88db463409fe07bb6422e521ae439216ee450f5d3806f6483310 기존에는 전체 공통으로 사용하는 값은 "default"라는 값의 profile로 저장하면 조회가 되었다. JdbcEnvir..

Spring Cloud 2022.0 Release Notes
Study/Java 2022. 11. 30. 02:06

전체 Release Notes 목록은 이 곳에서 확인할 수 있습니다. https://luvstudy.tistory.com/tag/Release%20Notes https://github.com/spring-cloud/spring-cloud-release/wiki/Spring-Cloud-2022.0-Release-Notes 30 revision 기준으로 작성됨 Breaking Changes Spring Cloud CLI 이 project는 release train에서 제거되었습니다. Spring Cloud Cloudfoundry 이 project는 release train에서 제거되었습니다. Spring Cloud Commons AsyncRestTemplate은 Spring Framework 6에서 제거되었..

article thumbnail
Spring Cloud Config Server jdbc backend 사용해보기
Study/Java 2022. 6. 13. 01:25

개인적으로 spring cloud config server를 github repository와 연동해서 사용하고 있었다. 평상시 크게 불편함을 느끼지 못했는데 config server의 설정을 변경할 일이 있을 경우 손쉽게 값을 변경하기 어려워 테스트 하기 불편하여 jdbc로 변경하려고 한다. Spring Cloud Config Server backend 구성 spring cloud config server는 다양한 backend를 구성할 수 있도록 autoconfiguration을 지원하고 있다. EnvironmentRepositoryConfiguration에서 다양한 backend 구성 환경에 대한 설정을 제공하고 있는데 대략 다음과 같다. 이 중에 원하는 환경으로 구성하면 된다. Environmen..

Spring Cloud Config Server 사용하기
Study/Java 2019. 1. 3. 08:05

Spring Cloud Config Server는 프로젝트에서 설정해서 사용하는 properties의 config 변수 값들을 통합 관리할 수 있게 해준다.여러 프로젝트에서 반복 사용하는 공통 변수값을 관리할 수 있어 프로젝트가 많아질 수록 Spring Cloud Config Server의 사용은 유지 보수를 위한 필수 선택이 된다.각 프로젝트별 변수 관리를 application / profile / label 세 가지 개념을 통해 관리를 한다.Spring Cloud Config Server 설정spring cloud는 spring boot를 사용하는 전제 조건에서 사용한다.Maven 설정대략 아래처럼 선언한다. org.springframework.boot spring-boot-starter-parent..