본문 바로가기
728x90
반응형

Spring/SpringCloud4

[Open Feign] Feign을 이용한 간단한 예제 Open Feign Netflix에서 처음 만들어진 선언적인(어노테이션 이용) HTTP Client Binder interface를 작성하고, annotaion을 선언한다. 마이크로 서비스 간에 통신 방법 중 하나로 많이 사용된다. 마이크로 서비스의 단점 API 호출 증가 -> 분산 시스템에서 API 호출부분을 계속 만들어줘야한다. Feign의 장점 인터페이스 작성을 통해 재사용성을 높인다. 목표 - Provider 서버로 api 제공 - Client 서버로 feign을 이용해 api 호출 Provider 서버 일반적으로 사용되고 있는 간단한 API 서버 작성 의존성 추가 dependencies{ implementation 'org.springframework.boot:spring-boot-starter.. 2023. 3. 6.
[SCG] Spring Cloud Gateway 기본 설정 및 헤더, 공통 에러 처리 사용 이유 - API의 단일 진입점 역할 - 인증/인가, LB, 로깅, Circuit Breaker 역할 - Non-Blocking 방식 (Zuul2도 Non-Blocking) 흐름 GatewayClient : 경로와 일치하는지 판단 [Predicate] Gayeway Handler Mapping [Predicate] Gateway WebHnadler : 요청과 관련된 필터체인을 통해 요청을 전송 Filter : 프록시 요청이 보내지기 전후에 나누어 로직 수행 Proxy Filter : 프록시 요청이 처리될때 수행 Proxied Service 프록시 이용법 Spring Cloud Gateway 게이트웨이 서버 gradle plugins { id 'org.springframework.boot' versio.. 2022. 8. 17.
[Spring Kafka] Kafka를 이용한 간단한 실습 메시지 큐 프로세스가 데이터를 교환할 때 사용되는 통신 방법 네트워크 통신으로 함수를 호출하듯 사용한다. => RPC방식이라고 한다.(Remote Procedure Call) 서비스 간의 결합도를 낮춰 전체 서비스가 정상 운영되도록 도와준다. 대표적인 메시지 큐 서비스 : RabbitMQ, Kafka 특징 비동기 : 비동기 방식으로 응답 처리 속도를 향상 시킬 수 있다. 비동조 : 어플리케이션 서비스와 분리 가능하다. 보증 : 메시지 전송 성공 여부를 확인할 수 있다. 확장성 : 다수의 프로세스들이 큐에 메시지를 보낼 수 있다. 과잉 : 메시지 전송 실패 시 재실행이 가능하다. 탄력성 : 일부분 실패하더라도 다른 서비스에 영향을 미치지 않는다. Kafka 링크드인에서 개발했으며, 메시지 큐 중에 속도가 .. 2021. 9. 13.
[Spring Cloud Config] Spring Cloud Config를 이용한 환경설정 관리 분산 시스템에서 환경설정을 외부로 분리하여 관리하는 기능을 제공한다. 운영중에 서버 빌드 및 배포 없이 환경설정 변경 가능하다. Config Server를 사용하여 모든 환경(개발, 테스트, 프로덕션)에 대한 어플리케이션들의 속성을 한 곳에서 관리할 수 있다. 기본 값은 git이며, git repository에서 관리한다. ConfigServer가 실행되는 native환경(서버가 실행되는 컴퓨터)으로 설정 할 수도 있다. https://github.com/spring-cloud/spring-cloud-release/wiki/Spring-Cloud-2020.0-Release-Notes#breaking-changes 예전에는 bootstrap.yml를 이용하여 application.yml 이전에 환경설정을 .. 2021. 9. 10.
LIST