본문 바로가기
반응형

전체 글44

[MongoDB] Bulk Operation을 통한 쿼리 성능 개선 사례 현재 운영하는 서비스에는 비디오 에디터 기능을 포함하고 있다.비디오 에디터의 경우 비디오에 나오는 자막을 생성하거나 수정하고 삭제할 수 있는 기능을 의미한다.자동 저장 기능을 제공하고 있지만 사용자 편의를 위해, 혹은 안정성을 위해 작업 도중 "저장하기" 기능을 통해 진행 중인 작업물의 현재 상태를 스냅샷할 수 있는 기능 또한 제공하고 있다."저장하기"의 경우 사용자들의 편의를 위해 흔히 사용하는 저장 관련 단축키인 "ctrl + s" 혹은 "cmd + s"를 통해 제공한다. 본 포스트에서는 해당 기능을 제공하는 과정에서 발생한 문제점과 해당 문제점을 해결하기 위해 MongoDB의 Bulk Operation을 통해 성능 개선한 사례에 대해서 소개하고자 합니다. 🙂‍↕️ MongoDB를 모니터링하던 도중.. 2025. 9. 30.
[Spring] Batch 환경에서 다중 RDB 사용하기 Spring Batch를 실행하기 위해선 Job과 Step에 대한 메타 데이터를 저장할 수 있는 용도의 스키마를 필요로 한다.실무 환경에선 여러 개의 데이터베이스를 사용할 수 있고 배치 데이터를 저장하기 위한 데이터베이스와 비즈니스용 데이터베이스가 구분돼 있을 환경이 높다. 본 포스트에서는 Spring Batch 환경에서 비즈니스용 데이터베이스와 배치용 데이터베이스를 구분해 설정하고 배치가 실행될 때 필요한 메타 데이터는 배치용 데이터베이스에, 배치 과정에서 필요한 데이터는 비즈니스용 데이터베이스를 사용할 수 있도록 설정하는 방법에 대해서 공유하고자 한다. 👏 Batch용 데이터베이스 설정db-batch.yml을 다음과 같이 정의하자.storage: datasource: batch: .. 2025. 9. 29.
[Spring] Batch 5.0 이후 Job이 자동 실행이 되지 않는다? Spring Batch 4.0에서 약 5년간의 세월이 흘러 Spring Batch 5.0으로 메이저 버전이 업데이트되었는데 Batch 5.0 이전의 버전을 사용할 경우 기존에 @EnableBatchProcessing 어노테이션을 통해 Job이 자동으로 실행하는 상황을 겪어왔을 것입니다. 본 포스트에서는 Spring Batch 5.0 이상의 버전을 사용할 경우 변경점과 Job이 자동으로 실행되지 않는 상황과 해결책에 대해 공유하겠습니다. 🙂‍↕️ @EnableBatchProcessing Spring Batch로 애플리케이션을 개발하기 위해선 배치 메타 데이터를 저장하기 위한 JobRepository, 배치 잡을 실행하기 위한 JobLauncher, 트랜잭션 관리를 위한 PlatformTransactio.. 2025. 9. 29.
쿠버네티스..꼭 써야 할까? 본 글은 문득 든 생각을 두서없이 작성하는 글으로 양해 부탁드립니다. 😂 이제는 너무나 유명해져 버린 쿠버네티스, 잘 알려졌다시피 컨테이너 오케스트레이션을 위해 사용된다.컨테이너 오케스트레이션컨테이너 오케스트레이션이란 도커 또는 containerd와 같은 컨테이너 런타임 애플리케이션을 자동으로 배포하고 확장하고 축소하고 하는 등의 관리와 네트워킹, 모니터링하는 기술을 의미한다. 실제 운영 환경에서는 수십, 수백 개의 컨테이너가 필요할 수 있기 때문에 단순히 컨테이너만 띄우는 수준을 넘어서 해결해야 할 여러 과제들에 직면한다.컨테이너 스케쥴링: 어떤 노드(서버)에 컨테이너를 띄울지 결정서비스 디스커버리 & 로드밸런싱: 컨테이너가 늘어나거나 줄어들어도 서비스 주소를 자동으로 관리하고 트래픽을 분산자동 확장.. 2025. 9. 23.
반응형