Spring/etc
-
spring application에서는 다양한 상황에 thread를 사용한다.이전 포스팅 중에 tomcat connector 관련 설정 내역들을 정리한 내역이 있다. 여기에 설정한 내역들이 적절한 값인지 확인하기 위해서 모니터링을 진행할 수 있도록 설정해 보자. 설정 추가 tomcat의 connector thread 정보를 /actuator 조회를 위해서는 추가적인 설정이 필요 server: tomcat: mbeanregistry: enabled: trueTomcat 자체는 JMX(MBean)를 통해 여러 메트릭 정보를 제공할 수 있다(예: active thread 수, request 처리 수, 에러 수 등)하지만 Spring Boot는 기본적으로 Tomcat의 MBean 등록을 성능과..
[Tomcat] connection thread metric 모니터링spring application에서는 다양한 상황에 thread를 사용한다.이전 포스팅 중에 tomcat connector 관련 설정 내역들을 정리한 내역이 있다. 여기에 설정한 내역들이 적절한 값인지 확인하기 위해서 모니터링을 진행할 수 있도록 설정해 보자. 설정 추가 tomcat의 connector thread 정보를 /actuator 조회를 위해서는 추가적인 설정이 필요 server: tomcat: mbeanregistry: enabled: trueTomcat 자체는 JMX(MBean)를 통해 여러 메트릭 정보를 제공할 수 있다(예: active thread 수, request 처리 수, 에러 수 등)하지만 Spring Boot는 기본적으로 Tomcat의 MBean 등록을 성능과..
2025.04.12 -
org.springframework.boot:spring-boot-{module}.jar 파일을 들여다보면 META-INF 폴더하위에 spring.factories 파일이 존재한다.해당 파일이 하는 역할이 무엇인지, 내용들은 어떤 걸 의미하는지 알아보자. spring.factories Spring Boot는 spring.factories 파일을 통해 특정 클래스들을 자동으로 로드할 수 있다.JAR 파일 내부의 META-INF/spring.factories 경로에 위치하며, SpringFactoriesLoader가 읽어 들이는 방식으로 동작한다. 주요 역할자동 설정(Auto-Configuration)org.springframework.boot.autoconfigure.EnableAutoConfigurat..
[Spring] 스프링부트 spring.factories 파일org.springframework.boot:spring-boot-{module}.jar 파일을 들여다보면 META-INF 폴더하위에 spring.factories 파일이 존재한다.해당 파일이 하는 역할이 무엇인지, 내용들은 어떤 걸 의미하는지 알아보자. spring.factories Spring Boot는 spring.factories 파일을 통해 특정 클래스들을 자동으로 로드할 수 있다.JAR 파일 내부의 META-INF/spring.factories 경로에 위치하며, SpringFactoriesLoader가 읽어 들이는 방식으로 동작한다. 주요 역할자동 설정(Auto-Configuration)org.springframework.boot.autoconfigure.EnableAutoConfigurat..
2025.02.13 -
보통의 경우에는 애플리케이션에서 하나의 DB에만 조회를 한다. 하지만 DB 부하를 분산하기 위해서 조회는 Slave에서만 한다던가, 샤딩된 DB를 사용하기도 한다. 이러한 경우에 어떻게 MultiDataSource를 조회할 수 있도록 Spring에서 설정할 수 있는지 알아보자. DataSource 정보 application.yml을 이용하여 DB url 및 user 정보 관리multi-datasource: kakao: url: jdbc:h2:tcp://localhost/~/testcase username: sa passwd: naver: url: jdbc:h2:tcp://localhost/~/test username: sa passwd: 위의 설정 정보를 매핑할 Da..
[Spring] RoutingDataSource 이용 DB 요청 분산(MasterSlave, Sharding..)보통의 경우에는 애플리케이션에서 하나의 DB에만 조회를 한다. 하지만 DB 부하를 분산하기 위해서 조회는 Slave에서만 한다던가, 샤딩된 DB를 사용하기도 한다. 이러한 경우에 어떻게 MultiDataSource를 조회할 수 있도록 Spring에서 설정할 수 있는지 알아보자. DataSource 정보 application.yml을 이용하여 DB url 및 user 정보 관리multi-datasource: kakao: url: jdbc:h2:tcp://localhost/~/testcase username: sa passwd: naver: url: jdbc:h2:tcp://localhost/~/test username: sa passwd: 위의 설정 정보를 매핑할 Da..
2025.01.16 -
Spring을 통해 WebApplication을 작성할 때 Redis를 크게 두 가지 방향으로 쓸 수 있을 것 같다. @Cacheable, @CacheEvict 등의 애너테이션을 활용한 Cache 용도 RedisTemplate를 활용한 다양한 자료구조에 데이터 관리(CRUD)먼저 Cache로 사용하는 방법을 알아보자. 의존성 implementation 'org.springframework.boot:spring-boot-starter-data-redis' Spring에서 @Cacheable, @CacheEvict, @CachePut과 같은 애너테이션을 만들어 두었고 해당 애너테이션이 어떻게 동작할지는 자신이 원하는 Cache Framework의 구현체만 주입해 주면 된다. -> CacheManage..
[Spring] Cache Abstraction 사용 (Redis)Spring을 통해 WebApplication을 작성할 때 Redis를 크게 두 가지 방향으로 쓸 수 있을 것 같다. @Cacheable, @CacheEvict 등의 애너테이션을 활용한 Cache 용도 RedisTemplate를 활용한 다양한 자료구조에 데이터 관리(CRUD)먼저 Cache로 사용하는 방법을 알아보자. 의존성 implementation 'org.springframework.boot:spring-boot-starter-data-redis' Spring에서 @Cacheable, @CacheEvict, @CachePut과 같은 애너테이션을 만들어 두었고 해당 애너테이션이 어떻게 동작할지는 자신이 원하는 Cache Framework의 구현체만 주입해 주면 된다. -> CacheManage..
2024.11.18