Spring
-
Spring Data R2DBC - R2DBC란?TECH/Spring 2022. 6. 16. 09:46
What is R2DBC R2DBC란 Reactive Relational Database Connectivity의 약어이다. R2DBC는 드라이버 벤더들에 의해 관계형 데이터베이스에 접근하기 위해 구현될 reactive API를 선언한 API 명세 계획이다. R2DBC가 왜 생겼는지에 대한 답변의 일부는 적은 수의 쓰레드로 동시성을 다루고 적은 하드웨어 리소스로 스케일하는 논블록킹 애플리케이션 스택의 필요성이다. 이 필요성은 표준화된 관계형 데이터 베이스 접근 API의 - 주로 JDBC - 재활용으로는 충족될 수 없었다. JDBC는 fully blocking API이기 때문이다. 블록킹 동작을 ThreadPool로 완화하려는 시도는 사용이 제한적이다. 다른 답변의 일부는 대부분의 애플리케이션은 데이터를 ..
-
Spring Cloud Gateway의 RouteDefinitionRepositoryTECH/Spring 2022. 6. 7. 13:28
Spring Cloud Gateway(이하 S.C.G라고 호칭)에서는 두 종류의 RouteDefintionRepository 구현체를 제공한다. InMemoryRouteDefinitionRepository 하나의 게이트웨이 인스턴스 내에서만 존재한다. 따라서, 여러 게이트웨이 인스턴스에 걸쳐 라우트를 공유하기에 적합하지 않다. RedisRouteDefinitionRepository S.C.G 인스턴스 클러스트에 걸쳐 라우트를 공유하기 위해서 RedisRouteDefinitionRepository 를 사용할 수 있다. 이를 위해서는 spring.cloud.gateway.redis-route-definition-repository.enabled 를 true로 설정해야 한다. RedisRateLimiter 필..
-
logback-spring.xml과 application.yml의 로그 설정 중 어떤 것이 우선 순위가 더 높을까TECH/Spring 2022. 2. 21. 08:43
application.yml과 logback-spring.xml에 설정된 로그 레벨 설정 중 어떤 것이 더 우선 순위가 높을까? 디렉토리 구조 . ├── pom.xml └── src └── main └── resources ├── application.yml └── logback-spring.xmlapplication.yml logging: level: root: DEBUGlogback-spring.xml 테스트용 코드 @RestController public class TestController { Logger logger = LoggerFactory.getLogger(TestController.class); @GetMapping("/") public String test() { logger.trace..
-
Spring Boot war 파일 생성하기TECH/Spring 2021. 9. 11. 15:29
SpringBootServletInitializer 서브클래스를 생성하고, configure 메소드를 오버라이딩한다. 이를 통해 Spring Framework의 서블릿 3.0 지원을 사용할 수 있고, 서블릿 컨테이너에 의해 애플리케이션이 실행됐을 때 애플리케이션을 설정할 수 있게 된다. 일반적으로, 아래와 같이 애플리케이션의 메인 클래스가 `SpringBootServletInitializer` 를 상속할 수 있도록 수정해야 한다. import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.bui..