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