왜 기본으로 HikariCP를 선택할까? 어떤 옵션이 있을까?
·
Spring
스프링 공식 문서에서 데이터 소스 연결에 관한 문서의 내용을 발췌해 보면 이런 문구가 있다참고: https://docs.spring.io/spring-boot/reference/data/sql.html#data.sql.datasource.connection-pool SQL Databases :: Spring BootThe Reactive Relational Database Connectivity (R2DBC) project brings reactive programming APIs to relational databases. R2DBC’s Connection provides a standard method of working with non-blocking database connections. Conn..
ObjectMapper는 꼭 try-catch로 써야 하는걸까?
·
Spring
try { objectMapper.readValue(request, A::class.java) } catch (e: JsonProcessingException) { throw CoreException(InMemoryExceptionCode.FAILED_PARSE_JSON) } catch (e: JsonMappingException) { throw CoreException(InMemoryExceptionCode.FAILED_MAP_TO_SCHEMA)} 웹 백엔드 개발을 하다 보면 ObjectMapper를 사용하는 경우가 꽤 많다는 걸 깨닫는다. Controller에서 Request를 처리하는 부분에서도 JSON 형태의 Request를 Jackson 라이브러리의 ObjectMapper가 우리가 원하는 형..
Spring Boot 배포 시 스레드 개수에 대한 궁금증 정리
·
Spring
Jar 파일을 리눅스에서 실행하면 스레드 수는?OS 스레드와 JVM 스레드가 매핑되어서 생성된다이를 Native Thread Implementation 또는 1:1 Threading Model이라고 한다Spring Boot의 스레드 풀기본적으로 내장 Tomcat을 사용할 경우 Thread Pool이 생성된다Default로 최대 200개의 스레드를 가질 수 있다각 요청은 이 스레드 풀의 워커 스레드에 의해 처리된다질문 1.Docker Image로 Container를 띄우면 이 Container는 실행되는 OS의 프로세스와 스레드를 할당받는 걸로 아는데 맞아?컨테이너와 프로세스 관계Docker 컨테이너는 호스트 OS의 격리된 프로세스 그룹으로 실행된다Linux의 namespaces와 cgroups를 사용해 ..