시리즈

개발일기 || 트러블슈팅

7개의 포스트
  1. 1.pg의 멀티테넌시(스키마) 환경에서 스프링 배치를 어떻게 사용해야 할까?

    회사에서 신규 서비스를 개발하고 있는데, API개발과 배치서버 개발 업무를 맡게 되었다. 배치 서버에서는 여러 개의 스키마로 구성된 DB의 한 테이블에서 날짜를 받아 만료처리하는 배치 스케줄러와, 특정 데이터들을

  2. 2.공유 자원에서의 동시성 이슈는 어떻게 해결해야 할까?

    회사의 WAS 서버 API를 개발 도중 공유하는 데이터에 접근해 이를 할당받는 API가 있다. 이 API를 코드리뷰 하던 도중, 프로님 한 분이 동시성 이슈가 들 수 있다고 이야기해 주셔서 이에 관해 글을 정리해 보

  3. 3.JPA에서 대용량 데이터를 읽거나 수정/삭제 할때, 쿼리를 어떻게 작성해야 할까?

    회사에서 개발하는 주요 프로젝트는 웹 개발로, B2B 모델이다. 트래픽이 적은 대신, 초 대용량의 데이터가 담겨 있는데, 이러한 데이터를 어떻게 처리하면 좋을지 쿼리 관점에서만 블로그를 작성해 볼 예정이다. 회사 코

  4. 4.데이터 압축을 위한 Gorilla 알고리즘 적용 사례: 사내 솔루션 개발기 및 회고

    데이터의 양이 기하급수적으로 많은 IT 환경에서, 효율적인 데이터 관리와 저장은 중요한 과제로 떠오르고 있다. 특히 대규모 시계열 데이터를 다루는 경우, 데이터의 저장 공간을 최적화하고 전송 속도를 향상시키는 것이

  5. 5.Coroutine과 ReactiveMongo 다중DB 환경에서 @Transactional을 사용해 보자

    업무를 하는 도중, 원자적으로 작업이 되어야만 하는 즉, 트랜잭션이 꼭 필요한 비즈니스 로직이 있었다. @Transactional 어노테이션을 사용해서 간편하게 트랜잭션 작업을 하고 싶은데.. 여러 블로그에 있는 레

  6. 6.Outbox만으로 충분할까? CDC와 DLQ를 통한 기초적인 이벤트 기반 설계를 알아보자

    대부분의 시스템은 초기에 단일 데이터베이스를 중심으로 모놀리식 기반 설계부터 시작된다. 서비스가 분리되고 도메인 경계가 명확해지며 트래픽이 늘어날수록 각 도메인이 자신의 데이터베이스를 소유해야 하는 시점이 찾아온다.

  7. 7.비동기로 성능개선을 한다고? - Coroutine, Semaphore, BulkHead로 안정적인 성능 만들기

    "비동기로 처리하면 더 빨라요" 이 말을 백엔드 개발자라면 한 번쯤 들어봤을 것이다. 하지만 진짜로 빠를까? 사실 비동기는 "더 빨라진다"보다 "기다리는 시간을 겹친다"가 더 정확한 표현이다. 이번 글에서는 동기/비