

광고 업체 유효성 검사 시스템 개선
광고 업체 유효성 검사 시스템을 API 중심 구조에서 배치와 Kafka 실시간 처리 구조로 단계적으로 개선한 사례입니다. MySQL, Redis, gRPC를 함께 활용해 확장성과 운영 효율을 높였습니다.


광고 업체 유효성 검사 시스템을 API 중심 구조에서 배치와 Kafka 실시간 처리 구조로 단계적으로 개선한 사례입니다. MySQL, Redis, gRPC를 함께 활용해 확장성과 운영 효율을 높였습니다.

트랜잭션 롤백과 중복 조회에 의존하던 CDC의 한계를 짚고, QueryPie의 쿼리 시뮬레이션 기반 접근을 소개했습니다. DBMS 부하를 줄이면서도 변경 전후 데이터를 확보하는 구조와 효과를 설명했습니다.

트랜잭션 롤백에 의존하던 CDC의 성능 저하와 DBMS 종속성 문제를 다뤘습니다. QSI 기반 쿼리 시뮬레이션으로 변경 전후 데이터를 생성해 부하를 줄인 방식을 소개했습니다.

트랜잭션 기반 CDC의 롤백 부하와 DBMS 종속성 문제를 정리하고, QSI 쿼리 시뮬레이션으로 이를 대체하는 방법을 소개했습니다.\n트랜잭션 없이 변경 전후 데이터를 생성해 성능과 확장성을 높인 사례를 설명했습니다.


아자르의 개인정보 삭제 정책 시스템을 이벤트 기반으로 설계한 사례를 소개했습니다. 예약부와 처리부를 분리하고 Kafka, Databricks로 무손실 처리와 백필을 지원했습니다.

MySQL 기반 message-relay의 쿼리 지연과 lock wait 문제를 분석하고 개선한 사례를 소개했습니다. NOWAIT와 LIMIT 조합으로 lock 경합을 줄여 성능을 안정화했습니다.
![[SpringBatch 연재 06] JpaPagingItemReader로 DB내용을 읽고, JpaItemWriter로 DB에 쓰기](https://devocean.sk.com/thumnail/2024/10/2/6fcf6f42a7137411e9966df3cba9520b9bbb7639fc4c76f85169f548440d0786.png)

Spring Batch에서 `JpaPagingItemReader`로 JPA 엔티티를 페이지 단위로 읽고 `JpaItemWriter`로 DB에 저장하는 방법을 소개했습니다. 또한 페이지 기반 처리의 누락 가능성과 JPA writer 설정상의 주의점도 함께 설명했습니다.


5월 트래픽 폭증에 대비해 RDS 모니터링과 자원 분리 전략을 강화했습니다. 커밋 지연 원인을 찾아 파라미터를 조정해 처리량을 개선했습니다.
![[SpringBatch 연재 05] JdbcPagingItemReader로 DB내용을 읽고, JdbcBatchItemWriter로 DB에 쓰기](https://devocean.sk.com/thumnail/2024/10/28/c6ab0423c449accde8c39729cbb0156dfab20487cabc4d636480ad301c57ef85.png)

JdbcPagingItemReader로 DB 데이터를 페이지 단위로 읽고 파일로 저장하는 방법을 다루었습니다. JdbcBatchItemWriter로 파일 데이터를 DB에 빠르게 적재하는 구성도 함께 설명했습니다.

일반 투표와 선착순 투표를 분리해 OOP 기반 확장형 아키텍처를 설계했습니다.\nDecorator와 Named Lock으로 공통 기능 재사용과 동시성 제어를 함께 다뤘습니다.

4주 파일럿 프로젝트로 알림 서비스를 구현한 경험을 정리했습니다. Vue.js, Spring Boot, SSE, Vuex 등을 활용한 구성과 시행착오를 공유했습니다.
Stack Overflow 2019 개발자 설문 결과를 항목별로 정리했습니다. JavaScript, React, Docker, 클라우드 서비스의 확산과 기술 간 연관성 변화를 함께 살펴보았습니다.