고객의 취소할 권리를 보장하다
배송준비중 단계에서 막히던 주문 취소를 앱에서 직접 가능하게 바꾼 사례입니다. 배송유형별 마감 시점을 재정의하고 Kafka, Redis 락, SQS로 동시성과 장애를 처리했습니다.
transaction 태그가 달린 국내 IT 기업 기술 블로그 글을 최신순으로 모았습니다.
20개 표시
배송준비중 단계에서 막히던 주문 취소를 앱에서 직접 가능하게 바꾼 사례입니다. 배송유형별 마감 시점을 재정의하고 Kafka, Redis 락, SQS로 동시성과 장애를 처리했습니다.
레거시 문자 발송 데몬을 걷어내기 위해 CDC와 Kafka를 이용한 과도기 구조를 설계했습니다.수십 개 서비스를 한 번에 바꾸지 못하는 상황에서 안전한 전환과 관측성을 확보한 사례를 설명했습니다.
외부 API 수신과 실제 데이터 처리를 분리한 구조를 소개했습니다. 요청은 Payload로 저장하고 내부 Timer Event가 비동기로 처리하도록 설계했습니다.

`@TransactionalEventListener`는 커밋 이후 실행이 아니라 트랜잭션이 있을 때만 등록됩니다. 트랜잭션 밖 발행 누락은 `fallbackExecution`과 발행 지점의 트랜잭션 검사를 성격에 맞게 선택해야 합니다.

동시성 문제를 다루며 락과 데드락을 고민한 사례를 다뤘습니다. 데드락을 해결하려다 오히려 락을 줄이는 방향으로 접근을 바꿨습니다.
선착순 수강 신청의 정원 초과를 막기 위해 동시성 제어 방식을 비교했습니다. 조건부 원자적 UPDATE와 유니크 제약, 트랜잭션으로 정합성을 보장했습니다.

애플리케이션 계층에서 관계를 다루는 이유와 구조를 정리했습니다. DB/JPA에 맡기기보다 이벤트 전파와 메타데이터로 관계를 명시적으로 관리하는 방식입니다.

AI 구현 전 요구사항에 숨은 기술 결정을 코드 기반 인터뷰로 명시하는 방식을 제안했습니다. 확정한 결정을 스펙과 리뷰 기준으로 활용해 검증 부담을 낮춥니다.
대량 요청 환경의 병목을 DB 트랜잭션 관점에서 분석하고 개선한 사례입니다. 비관적 락을 낙관적 락과 재시도로 전환해 커넥션 효율과 안정성을 높였습니다.

상세 화면 API에서 컬렉션 접근이 과도하게 발생하던 구조를 개선한 글입니다. 트랜잭션 스크립트에서 숙소 메타와 가격 계산 모듈로 분리한 과정을 다룹니다.
장보기 지원금 소멸 알림 배치에서 메시지 발송 대기 중 DB 커넥션을 오래 점유해 타임아웃이 발생했습니다. 이를 위해 리소스 사용 구간과 발송 대기 구간을 분리해 배치 안정성을 높였습니다.
멀티 센터 전환에 맞춰 배송최적화 시스템을 도입하고 주문분배·이관을 자동화했습니다. 그 결과 배송 리드타임을 평균 14시간 단축하고 운영 개입을 크게 줄였습니다.
레거시 알림톡 발송을 트랜잭션 커밋 이후 Kafka 기반 구조로 분리했습니다. 데이터 정합성과 확장성을 높이며 공통 발송 체계를 만들었습니다.
SQS 기반 알림톡 처리로 전환한 뒤 DB 커넥션 타임아웃과 데드락이 발생한 원인을 분석했습니다. REQUIRES_NEW 제거와 SQS 메시지 수 조정으로 커넥션 경합을 해소했습니다.
MySQL InnoDB의 넥스트 키 락을 2원 2규칙으로 정리해 동작 원리를 설명했습니다. 동등 조건, 범위 조건, LIMIT, DESC 정렬에서의 잠금 차이도 예제로 살펴보았습니다.

MySQL InnoDB의 Redo Log와 WAL 개념을 개요 수준에서 설명한 글입니다. 트랜잭션 무결성과 영속성 관점의 로그 관리 흐름을 정리했습니다.
NOL 주문 시스템의 통합 주문 구조와 3단계 처리 흐름을 소개했습니다. 분산 트랜잭션, 이벤트 전파, 보상 처리로 대량 주문의 안정성과 확장성을 확보했습니다.

앱스토어의 동기 호출 중심 구조를 인메모리 이벤트 버스로 분리해 결합도를 낮췄습니다. 트랜잭션 훅과 비동기 핸들러를 지원해 확장성과 유연성을 높였습니다.
분산환경의 메시지 신뢰성과 인가 성능을 동시에 해결하기 위해 구조를 분리한 사례를 소개했습니다. 모든 요청의 권한 체크를 평균 7ms 이내로 처리하도록 설계했습니다.

MySQL 기본 격리 수준인 REPEATABLE READ 때문에 결제 트랜잭션에서 오래된 잔액이 유지되는 문제를 겪었습니다. 락 위치와 격리 수준을 조정해 동시성 이슈를 해결하는 과정을 정리했습니다.
