Tag
#kafka
15개의 글이 있습니다.
-
PeekCart 학습 기록 36: 부하 측정은 측정 환경의 어디에서 틀렸을까?
부하 측정 세션 세 번에서 숫자를 틀리게 만든 측정 환경의 결함과, 세션 전에 확인하거나 계산할 수 있었던 것을 정리했습니다.
-
PeekCart 학습 기록 34: 선언한 Kafka 토픽 config 는 왜 오류 없이 브로커 기본값으로 남았을까?
KafkaAdmin 과 브로커 자동 생성이 같은 토픽을 두고 경합해 선언한 config 가 오류 없이 빠진 원인과 막은 과정입니다.
-
PeekCart 학습 기록 32: 복제 코드를 공유 모듈로 합치고 문서를 옮긴 뒤, 통과한 검사가 놓친 것
공유 모듈 추출과 문서 이전 과정에서, 통과한 검사가 놓친 코드 중복과 정보 누락을 확인합니다.
-
PeekCart 학습 기록 31: 같은 결과를 검사하면 같은 결함을 검출할까?
결함 주입으로 JVM 테스트와 실제 스택 e2e 의 검출 범위를 비교하고, 두 검사를 함께 남긴 이유를 정리합니다.
-
PeekCart 학습 기록 29: JUnit 리포트는 131초였는데, 테스트 태스크는 왜 975초였을까?
JUnit 리포트에 빠진 테스트 지연을 추적하고, 컨테이너 공유로 줄인 실행 시간과 추가로 필요한 격리를 정리합니다.
-
PeekCart 학습 기록 26: DLQ 메시지를 원래 토픽에 다시 넣기 전에 무엇을 정해야 할까
DLQ 메시지를 원래 토픽에 다시 넣는 기능을 만들며 정해야 했던 네 질문과 그 과정의 함정을 정리합니다.
-
PeekCart 학습 기록 25: saga E2E 는 어디서 잘못 통과할까
saga E2E가 시작 이벤트, 대기 조건, 실패 판정에서 잘못 통과한 사례와 이를 찾아낸 방법을 정리합니다.
-
PeekCart 학습 기록 24: 롤백되지 않는 환불 호출에서 '한 번'은 어디서 셀까
DB 롤백으로 되돌릴 수 없는 Toss 환불 호출을 주문당 1건으로 지키기 위해 진입점과 실행자를 나눈 과정입니다.
-
PeekCart 학습 기록 20: 모놀리스를 어떻게 나눌 수 있을까
도메인별 패키지로 나뉜 Spring 모놀리스를 다섯 서비스로 떼어내며, 빈 호출과 트랜잭션 결합 때문에 분리 순서를 바꾼 과정을 살펴봅니다.
-
PeekCart 학습 기록 17: 1,000명이 소수 상품을 동시에 주문하면
1,000 VUser 동시 주문에서 정합성, HPA scale-out, Kafka Lag, 처리량을 재고 검증의 한계와 함께 봅니다.
-
PeekCart 학습 기록 11: 같은 이벤트가 두 번 왔다 - Consumer 멱등성과 DLQ
at-least-once 전달의 중복을 Consumer 멱등성으로 흡수하고, 처리할 수 없는 메시지를 DLQ로 격리합니다.
-
PeekCart 학습 기록 10: DB는 커밋됐는데 이벤트가 사라진다면 - Kafka와 Transactional Outbox
Kafka 발행과 DB 저장의 dual-write 문제를 Transactional Outbox로 줄이고 그 트레이드오프를 정리합니다.
-
PeekCart 학습 기록 6: 알림 발송이 실패해도 주문은 살아남아야 한다
Notification 도메인의 Kafka Consumer 전환, SlackPort 위치, Slack 실패 격리를 정리합니다.
-
PeekCart 학습 기록 5: 결제 승인이 실패하면 누가 주문을 취소하는가
PeekCart의 Payment 생성, Toss 결제 승인 실패 처리, Outbox 이벤트, 웹훅 멱등성, Order 상태 연결을 정리합니다.
-
PeekCart 학습 기록 4: 주문 생성 트랜잭션 안에서는 어떤 일이 일어나는가
PeekCart의 장바구니부터 주문 생성, 가격 스냅샷, 주문 상태 전이, 취소와 보상 트랜잭션 흐름을 정리합니다.