일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |
- docker-compose
- netflix oss
- docker
- ChannelPipeline
- docker compose mysql
- KAFKA
- coalesce
- Airflow
- Hibernate
- mybatis
- Selenium
- grafana
- Docker Compose
- Redis Sentinel
- JPA
- redis
- Spring Open Feign
- argo cd
- weblogic 10
- spring cloud
- WebLogic
- RabbitMQ
- spring boot redis
- jmeter
- QueryDSL
- spring boot
- cassandra
- MySQL
- vue.js
- Netty
- Today
- Total
목록Spring (98)
IT.FARMER
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 에서는 동작되..
Spring mybatis pretty - query log Spring freamwork 에서 db 작업시 mybatis 를 주로 사용하게 된다. 실행되는 쿼리정보를 상세하고 보기좋게 봐야할때 사용한다. 라이브러리 추가 log4ldbc.jar log4jdbc.log4j2.properties 생성 및 설정 db 접속 정보 수정 driver class 변경 라이브러리 추가 implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4.1:1.16' db connection class 정보 변경 spring: datasource: driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy url: jdbc:log4jdb..
jpa class 생성할때 @Id 가 선언된 class 에 implement Serializable 을 해주어야한다. reson 두개의 복합키를 만드는경우엔 직열화( serializable)를 하라고 하는데 자바에서의 직열화란 자바시스템 내부에서 사용되는 객체를 외부의 자바 시스템에서도 사용할수 있도록 바이트형태로 데이터를 변환하는 기술이다. 즉 자바시스템간의 데이터 교환을 위해존재한다. 근데 JPA 여기선 왜? 만들라고 하는거지 ? https://bravenamme.github.io/2020/02/05/java-serializable/ 여기에 나와 있긴 한데. 시스템이 종료되더라도 없어지지 않고 영속화되어 네트워크 전송이 가능하다라고 한다. JSR220 에따르면 이객체를 어딘가로 전송하거나. 기록하는 ..
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 ..