- Node.js 마이크로서비스 구축: Express, Mongoose, MongoDB, Docker, Docker Compose, RabbitMQ를 활용하여 Node.js 마이크로서비스 기반의 할 일 관리 애플리케이션을 구축합니다. 🚀
- 3가지 핵심 서비스: 사용자 관리(User Service), 할 일 관리(Task Service), 알림 발송(Notification Service)의 세 가지 주요 마이크로서비스로 구성됩니다. 🧩
- 독립적인 데이터베이스: 각 서비스(User, Task)는 자체 MongoDB 데이터베이스를 가지며, 독립적으로 데이터를 관리합니다. 💾
- 비동기 통신 (RabbitMQ): Task Service와 Notification Service 간의 통신은 RabbitMQ 메시지 큐를 통해 비동기적으로 이루어져 시스템의 유연성과 복원력을 높입니다. ✉️
- Docker 기반 배포: 모든 서비스, 데이터베이스, 메시지 브로커는 Docker 및 Docker Compose를 사용하여 컨테이너화되어 배포 및 관리가 용이합니다. 🐳
- Node.js의 역할: Chrome V8 엔진 기반의 JavaScript 런타임으로, 브라우저 외부(서버 측)에서 JavaScript 코드를 실행할 수 있게 합니다. 💻
- 주요 개발 도구: Node.js (런타임)와 Visual Studio Code (IDE)를 사용하여 개발을 진행합니다. 🛠️
- Express.js 활용: Node.js에서 API를 쉽고 간결하게 구축할 수 있도록 돕는 미니멀리즘 웹 프레임워크입니다. 🌐
- Mongoose와 MongoDB: Mongoose는 Node.js 애플리케이션이 MongoDB와 구조화된 방식으로 상호작용하도록 돕는 ODM 라이브러리이며, MongoDB는 유연한 문서 기반 NoSQL 데이터베이스입니다. 📚
- User Service API:
/users(GET)로 모든 사용자를 조회하고,/users(POST)로 새로운 사용자를 생성하는 API를 제공합니다. 👤





