일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- Hibernate
- Docker Compose
- Airflow
- MySQL
- coalesce
- KAFKA
- QueryDSL
- redis
- Redis Sentinel
- cassandra
- docker-compose
- WebLogic
- spring boot
- netflix oss
- JPA
- docker
- spring cloud
- RabbitMQ
- ChannelPipeline
- docker compose mysql
- mybatis
- Spring Open Feign
- jmeter
- argo cd
- Selenium
- Netty
- grafana
- vue.js
- spring boot redis
- weblogic 10
- Today
- Total
목록Spring/Spring Cloud (13)
IT.FARMER
OpenFeign을 사용중에 다음과 같은 오류가 발생했다. Feign Client with Spring Boot: RequestParam.value() was empty on parameter 0 신기하게도 인텔리제이에서 구동할때는 오류가 없다가, VS Code tool 에서 구동하니 오류가 발생했다. @RequestParam을 사용할때 name="" 매개변수이름을 명확히 정의해 주어야 한다고한다. 이유는 Spring MVC 와 Spring cloud feign은 모두 동일한 ParameterNameDiscoverer 를 사용하여 DefaultParameterNameDiscoverer 매개변수 이름을 찾는다고 한다. 첫째 StadardReflectionParameterNameDiscoverer. 리플렉션..
2022.01.14 - [Spring/Spring Cloud] - Spring Open Feign 2022.01.14 - [Spring/Spring Cloud] - open feign log 설정 2022.01.14 - [Spring/Spring Cloud] - spring open feign 예제 2022.01.14 - [Spring/Spring Cloud] - open feign error decoder custom 2022.01.14 - [Spring/Spring Cloud] - spring open feign retry (circuit breaker) Open Feign circuit breaker 테스트 시나리오는 다음과 같다. (fallback & retry) 기능 수행 전제 조건 servic..
오픈페인을 사용하면서 발생되는 오류에 대한 컨트롤을 커스텀 하게 구현 할 수 있다. ErrorDecoder 를 상속받아 구현하면 된다. HTTP method 에 따라 응답값을 확인하고 익셉션을 다르게 설정 한다. 만약 circuit breaker 기능중 retry 기능을 사용하기 위해서는 exception 을 꼭 RetryableException을 사용하여야 한다. 다른 익셉션을 던지면 retry 는 설정해도 동작 되지 않는다. @Slf4j public class GlobalCustomErrorDecoder implements ErrorDecoder { @Override public Exception decode(String methodKey, Response response) { log.warn("gl..
spring boot 에서 open feign 을 사용하기 위햐서는 spring cloud 라이브러리를 사용해야 한다. 앞서 이야기 했듯 open feign은 인터페이스 구현 만으로 빠르고 쉽게 api 를 호출 할 수 있다. gradle.build plugins { id 'org.springframework.boot' version '2.6.2' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' } group = 'com.example' version = '0.0.1-SNAPSHOT' sourceCompatibility = ..
open feign을 사용하면서 Request,Response 에대한 header,body, parameter 를 확인 하고 싶을 것이다. 이때 로깅레벨을 변경 해주고 @FeignClient 가 있는 package 의 레벨을 debug 로 변경해주면 해당 로그를 볼수 있다. @Configuration public class GlobalCustomFeignConfig { /** * 기본 설정이 NON 으로 FULL 로 지정하여 request, response, header,body, metadata 모두를 로깅한다. * 로그 설정에서 @Feign package 를 debug level로 변경해 준다. */ @Bean Logger.Level loggerLevel() { return Logger.Level.F..
선언적 REST 클라이언트 이다. Feign 은 JAX-RS 또는 Spring MVC 의 주석을 이용하여 다이나믹하게 인터페이스를 구성,구현 할 수있다. 기존 RestTemplat을 사용해서 작업 했더라면 다음과 같은 이유로 Nexflix 에서는 Feign 을 개발하여 사용하였다. 좀더 공통적인 개발과 쉬운 API 호출을위함 MSA 환경에서는 서버가 자동으로 생성되고 삭제됨으로 인해 서버 엔드포인트의 변경. Ciruit Breaker 대한 처리 fallback 에 대한 처리 로드벨런싱된 http 클라이언트를 제공하기 위해 Eureka, Spring Ciruit Breaker, Spring LoadBalancer 를 통합함. (통합한다는 뜻은 사용한다는 의미 같다.) ⚠️ Spring MVC 에서는 동작되..
2021.07.21 - [Spring/Spring Cloud] - Spring Cloud 2021.07.21 - [Spring/Spring Cloud] - Netflix OSS 와 Spring Cloud 의 ecosystem 2021.07.21 - [Spring/Spring Cloud] - spring cloud eureka 2021.07.21 - [Spring/Spring Cloud] - Spring Cloud Gateway, Circuit Breaker and Hystrix with in Eureka 2021.07.21 - [Spring/Spring Cloud] - API Gateway (Application Programming Interface) 2021.07.21 - [Spring/Spring ..
2021.07.21 - [Spring/Spring Cloud] - Spring Cloud 2021.07.21 - [Spring/Spring Cloud] - Netflix OSS 와 Spring Cloud 의 ecosystem 2021.07.21 - [Spring/Spring Cloud] - spring cloud eureka 2021.07.21 - [Spring/Spring Cloud] - Spring Cloud Gateway, Circuit Breaker and Hystrix with in Eureka 2021.07.21 - [Spring/Spring Cloud] - API Gateway (Application Programming Interface) 2021.07.21 - [Spring/Spring ..
2021.07.21 - [Spring/Spring Cloud] - Spring Cloud 2021.07.21 - [Spring/Spring Cloud] - Netflix OSS 와 Spring Cloud 의 ecosystem 2021.07.21 - [Spring/Spring Cloud] - spring cloud eureka 2021.07.21 - [Spring/Spring Cloud] - Spring Cloud Gateway, Circuit Breaker and Hystrix with in Eureka 2021.07.21 - [Spring/Spring Cloud] - API Gateway (Application Programming Interface) 2021.07.21 - [Spring/Spring ..