LogoKYUDORI
HomeProjects
Blog

Blog

개발하면서 배운 것들을 기록합니다.

전체백엔드알고리즘
#AOP#CAS#CompletableFuture#Coroutine#DB#DLT#EIP-2612#FCM#HikariCP#JPA#Java 21#Kafka#Kotlin#Logback#MDC#MySQL#OSIV#OpenTelemetry#Pessimistic Lock#Spring#Spring Boot#Virtual Thread#Web3j#결제#다중서버#대량발송#동시성#로깅#멀티테넌시#메시징#모니터링#배치#배포#버그#보안#블록체인#비동기#상태머신#설계#성능#스케줄러#암호화#에러처리#외부API#장애격리#장애복구#장애분석#커서#토큰#트랜잭션#트러블슈팅#필터
백엔드#MySQL#배치#성능

MySQL 배치 INSERT가 느린 이유: rewriteBatchedStatements

→ `rewriteBatchedStatements`는 MySQL JDBC 드라이버 옵션으로, 여러 개의 INSERT 문을 하나의 멀티 로우 INSERT 문으로 합쳐서 보내주는 기능이다.

2026년 2월 23일 13
백엔드#배치#장애복구#설계

서버가 죽으면 발송은 어디서부터 다시 해야 하나

대량 푸시 발송 중에 서버가 죽었다. 10만 명 중 6만 명까지 보냈는데 서버가 재시작되면서 상태가 `PROCESSING`에 멈춰버렸다.

2026년 2월 15일 11
백엔드#배치#커서#DB

서버가 죽어도 이어서 보내는 배치 처리

30만 명에게 푸시를 보내는 데 약 2시간이 걸린다.

2026년 2월 13일 10
백엔드#FCM#배치#대량발송

수십만 명에게 푸시를 보내려면

관리자가 전체 사용자(수십만 명)에게 이벤트 푸시 알림을 보내야 한다.

2026년 2월 2일 6

© 2026 KYUDORI. All rights reserved.