Tag
#peekcart
21개의 글이 있습니다.
-
부채 해결 회고: MSA로 넘어가기 전에 무엇을 고치고 무엇을 일부러 남겼나
Phase 4 MSA 전환을 앞두고 22개의 기술 부채를 트리아지하고, 즉시 고칠 항목과 의도적으로 남길 항목을 나눈 기준을 회고합니다.
-
PeekCart 학습 기록 19: "조건부 UPDATE 한 방"이면 분산 락이 필요 없을까
단일 행 재고 차감에서 조건부 UPDATE, Redis 분산 락, 낙관적 락이 각각 맞는 구간을 비교합니다.
-
PeekCart 학습 기록 18: Phase 4로 넘어가기 전에 - 글을 쓰다 발견한 22개의 부채
Phase 4 MSA 진입 전에 글을 쓰며 드러난 22개의 기술 부채를 영역별로 나눠 정리합니다.
-
PeekCart 학습 기록 17: 1,000명이 소수 상품을 동시에 주문하면
1,000 VUser 동시 주문에서 정합성, HPA scale-out, Kafka Lag, 처리량을 재고 검증의 한계와 함께 봅니다.
-
PeekCart 학습 기록 16: 캐시 효과를 어떻게 증명할까
캐시 ON/OFF 단일 변수 부하 테스트로 Cache Aside 효과를 재고, 목표에 못 미친 2.31배를 기준값으로 남깁니다.
-
PeekCart 학습 기록 15: 메트릭은 수집됐는데 그래프가 비어 있다
Actuator에서 Grafana 알림까지 이어지는 관측성 경로를 따라가며 비어 있던 그래프의 원인을 정리합니다.
-
PeekCart 학습 기록 14: 같은 매니페스트로 두 환경을 배포한다 - Kustomize base/overlays와 minikube → GKE
Kustomize base/overlays로 minikube와 GKE의 차이를 patch로 분리한 배포 구조와 한계를 정리합니다.
-
PeekCart 학습 기록 13: "내 머신에선 되는데"에서 벗어나기 - CI와 Docker 이미지 빌드
GitHub Actions CI, Testcontainers 통합 테스트, Docker 이미지 빌드 흐름과 검증 공백을 정리합니다.
-
PeekCart 학습 기록 12: Pod이 셋이면 스케줄러도 셋이 돈다 - ShedLock
여러 Pod에서 중복 실행되는 Spring 스케줄러를 ShedLock과 MySQL 락 레코드로 조율하는 방법을 정리합니다.
-
PeekCart 학습 기록 11: 같은 이벤트가 두 번 왔다 - Consumer 멱등성과 DLQ
at-least-once 전달의 중복을 Consumer 멱등성으로 흡수하고, 처리할 수 없는 메시지를 DLQ로 격리합니다.
-
PeekCart 학습 기록 10: DB는 커밋됐는데 이벤트가 사라진다면 - Kafka와 Transactional Outbox
Kafka 발행과 DB 저장의 dual-write 문제를 Transactional Outbox로 줄이고 그 트레이드오프를 정리합니다.
-
PeekCart 학습 기록 9: 오버셀링을 두 겹으로 막기 - 분산 락과 낙관적 락
Redis 분산 락과 JPA 낙관적 락을 함께 사용해 재고 오버셀링을 막는 이유, 트랜잭션 경계의 한계와 테스트 범위를 정리합니다.
-
PeekCart 학습 기록 8: 상품 조회를 캐시 뒤로 옮기기
상품 조회를 Redis Cache Aside로 옮기며 재고 제외, 목록 캐시 무효화, CachedPage 래퍼를 정리합니다.
-
PeekCart 학습 기록 7: 15분 후에 돌아와서 주문을 취소하는 일
PeekCart의 결제 타임아웃 스케줄러, REQUIRES_NEW 건별 트랜잭션, 상태 경합 격리, ShedLock 도입 이유를 정리합니다.
-
PeekCart 학습 기록 6: 알림 발송이 실패해도 주문은 살아남아야 한다
Notification 도메인의 Kafka Consumer 전환, SlackPort 위치, Slack 실패 격리를 정리합니다.
-
PeekCart 학습 기록 5: 결제 승인이 실패하면 누가 주문을 취소하는가
PeekCart의 Payment 생성, Toss 결제 승인 실패 처리, Outbox 이벤트, 웹훅 멱등성, Order 상태 연결을 정리합니다.
-
PeekCart 학습 기록 4: 주문 생성 트랜잭션 안에서는 어떤 일이 일어나는가
PeekCart의 장바구니부터 주문 생성, 가격 스냅샷, 주문 상태 전이, 취소와 보상 트랜잭션 흐름을 정리합니다.
-
PeekCart 학습 기록 3: 상품과 재고는 왜 따로 관리해야 할까
PeekCart의 Product와 Inventory 분리를 재고 동시성, 낙관적 락, Redis 분산 락, 캐싱 전략 관점에서 정리합니다.
-
PeekCart 학습 기록 2: 인증, 인가의 갈림길에서 무엇을 선택할 수 있을까
PeekCart의 인증과 인가 설계를 비밀번호 저장, JWT, 토큰 회수, 재발급 전략, 서비스 간 신뢰 관점에서 정리합니다.
-
PeekCart 학습 기록 1: 4-Layered + DDD 구조를 어떻게 읽어야 할까
PeekCart 모놀리스 구조를 4-Layered, DDD, Hexagonal, Clean Architecture와 비교하며 읽어봅니다.
-
PeekCart 학습 기록 0: 왜 모놀리스에서 MSA로 가는 흐름을 먼저 봐야 할까
PeekCart를 MSA 프로젝트로 바로 보기 전에, 모놀리스에서 출발해 단계적으로 문제를 확인하는 흐름을 정리합니다.