🏗️
PayStream 프로젝트 개요
2025.09.10
PayStream은 대용량 트래픽을 전제로 한 MSA 기반 커머스·예약 서비스 사이드 프로젝트입니다. 숙소·특가 도메인을 중심으로 주문, 결제, 재고, 알림, 어드민 대시보드까지 이벤트 기반으로 연결하는 것이 목표입니다.
이 글은 PayStream 시리즈의 허브(목차) 역할을 합니다. 설계 결정, API 명세, 연동 기록은 아래 폴더별 글에서 이어집니다.
프로젝트 목표
| 항목 | 내용 |
|---|---|
| 핵심 주제 | 대용량 트래픽 · MSA · 이벤트 드리븐 아키텍처 |
| 도메인 | 숙소·특가 예약/결제 (PayStream-web UI 기준) |
| 백엔드 | Spring Boot · Spring Cloud · Kafka · MySQL · Redis |
| 프론트 | Next.js 15 (PayStream-web, 웹뷰·PWA 조합) |
| 인프라 | AWS (EKS, RDS 등), Kubernetes 기반 배포 검토 |
한 줄로 말하면, 실서비스에 가까운 규모감을 목표로 기술 스택과 역할 분담을 먼저 정리하고, 알림·API 연동부터 점진적으로 붙여 나가는 프로젝트입니다.
서비스 구성 (개략)
| 서비스 | 역할 | 주요 스택 |
|---|---|---|
| 주문 | 주문 생성 후 이벤트 발행 | Spring Boot, JPA, Kafka Producer |
| 결제 | 결제 요청 이벤트 처리, PG 연동 | Spring Boot, Kafka Consumer |
| 재고 | Redis 캐시 + MySQL 최종 저장 | Redis, MySQL, Kafka Consumer |
| 알림 | 이메일·푸시 등 채널별 발송 | Spring Boot, Kafka, 외부 알림 API |
| 어드민 | 주문/결제/재고 모니터링 | React, Spring Cloud Gateway |
| 공통 | 서비스 디스커버리·게이트웨이 | Eureka, Config Server, API Gateway |
브라우저는 API Gateway 단일 진입점(localhost:8000 등)으로만 백엔드에 접근합니다. 마이크로서비스 포트를 프론트에서 직접 호출하지 않습니다.
내 역할
프로젝트 내에서 알림 서비스와 어드민 대시보드를 메인으로 담당합니다. 결제·주문은 규모가 크지만, 알림은 Kafka 이벤트 연동·API 설계·프론트 연동까지 한 흐름으로 검증하기 좋은 영역이라 우선순위를 두었습니다.
콘텐츠 로드맵
PayStream 관련 글은 content/projects/paystream/ 아래 폴더로 나뉩니다.
| 폴더 | 용도 | 현재 글 |
|---|---|---|
00-overview |
프로젝트 소개·로드맵 | 이 글 |
10-worklog |
주간/연동 작업 기록 | 킥오프 & 기술 스택 · 알림 우선순위 재정리 · 알림 API 연동 시행착오 |
20-architecture |
아키텍처·설계 결정 | Kafka 토픽 & 이벤트 흐름 |
30-api |
API 명세 | 알림 API 명세서 |
40-troubleshooting |
장애·에러 분석 | worklog에 통합 기록 중 |
50-retrospective |
회고 | (작성 예정) |
읽는 순서 (추천)
- 이 글 — 전체 그림
- PayStream Project (킥오프) — 스택 선정 이유
- Kafka 토픽 & 이벤트 흐름 — MSA 이벤트 설계
- API 명세서를 만들어보자! — 알림 도메인 API·ERD
- 알림 연동 우선순위 재정리 — Web Push vs FCM, 연동 순서
- 알림 API 연동 시행착오 — 게이트웨이·JWT 실전 기록
진행 상황 (2026.04 기준)
- MSA·Kafka 중심 기술 스택 합의
- 알림(Notification) API 명세·아키텍처 정리
- 알림 채널 우선순위 재정리 (API → 이메일 → PWA → Web Push)
- PayStream-web ↔ API Gateway 알림 ping·POST 연동 검증
- Web Push · VAPID · 구독 API
-
20-architectureKafka 토픽·이벤트 흐름 설계 문서 - 프로덕션 배포·관측성 (EKS, 모니터링)
태그로 모아보기
Posts 페이지 사이드바 TAGS에서 #paystream으로 이 시리즈 글만 모아볼 수 있습니다.
#paystream— PayStream 전체#notification— 알림 도메인#kafka·#spring— 백엔드 스택#nextjs·#api-gateway— 프론트 연동
다음에 쓸 글 (메모)
40-troubleshooting/— consumer lag, 게이트웨이 CORS 등 이슈 분리50-retrospective/— 1차 연동 회고
구조·frontmatter 규칙은 레포의 docs/paystream/README.md를 참고합니다.
👇 도움이 되셨다면 👇