YC Logo
YuWiChang

ERP - 마이크로서비스 시스템

Spring Boot + Kafka + gRPC + WebSocket

개발 형태
1인 프로젝트
마이크로서비스
5개
통신 프로토콜
REST + gRPC + Kafka + WebSocket
데이터베이스
MySQL + MongoDB

Team & Role

팀 구성
1
내 역할
Solo Developer (전체 개발)

Period

2025-09 - 2025-12

Tech Stack

Spring Boot 3.2.0Java 17Apache KafkagRPCWebSocketMySQL 8.0MongoDB 7.0Docker Compose

프로젝트 소개

ERP는 5개의 독립 마이크로서비스로 구성된 전자결재 시스템입니다. REST, gRPC, Kafka, WebSocket 등 다양한 통신 프로토콜을 활용한 분산 시스템입니다.

내 역할 및 기여도

마이크로서비스 아키텍처 설계, 5개 서비스 구현 (REST, gRPC, Kafka, WebSocket), 데이터베이스 설계 (MySQL, MongoDB), Docker Compose 배포 환경 구축

핵심 기능

마이크로서비스 아키텍처

5개 독립 서비스 (User, Document, Approval, Notification, File)

Spring BootDocker Compose

gRPC 서버-클라이언트 통신

서비스 간 고성능 RPC 통신

gRPCProtocol Buffers

Kafka 비동기 메시징

결재 상태 변경 이벤트를 Kafka로 전파

Apache KafkaSpring Kafka

WebSocket 실시간 알림

결재 완료/반려 시 실시간 알림 전송

WebSocketSTOMPSockJS

기술적 도전과 해결

1인 프로젝트로 전체 시스템 설계

문제

마이크로서비스 아키텍처를 혼자 설계하고 구현

해결

Domain-Driven Design 적용, 서비스별 독립 DB, API Gateway 패턴

결과

5개 서비스 성공적으로 구현 및 배포

DDDSpring BootDocker

다양한 통신 프로토콜 통합

문제

REST, gRPC, Kafka, WebSocket을 하나의 시스템에 통합

해결

각 프로토콜의 장점을 살려 적재적소에 활용

결과

고성능 및 실시간 알림 기능 모두 구현

gRPCKafkaWebSocket