이 과정은 첫 번째 버전의 깊이와 품질에 대한 불만족을 해소하기 위해 제작된, Go와 Kubernetes를 활용한 마이크로서비스 구축의 두 번째이자 가장 포괄적인 버전입니다. 🚀
AI 코딩 시대에 단순한 도구 사용을 넘어 컴퓨터 과학의 근본 원리와 '왜' 그리고 '어떻게' 작동하는지에 대한 이해를 강조합니다. 🧠
Uber와 유사한 실시간 차량 공유 애플리케이션의 백엔드 마이크로서비스를 구축하는 것이 핵심 프로젝트입니다. 🚕
개발 환경은 Tilt.dev를 사용하여 로컬 Kubernetes에서 서비스를 실행하고, Jaeger로 서비스 간 통신을 추적하며, RabbitMQ UI로 메시지 큐를 모니터링합니다. 🛠️
주요 기술 스택으로는 Go, Kubernetes, MongoDB, Google Cloud, RabbitMQ, Docker, Stripe, TypeScript/React(프론트엔드 템플릿), 오픈소스 라우팅 머신이 포함됩니다. 💻
기술 스택 선정 기준은 높은 수요, 성능, 쉬운 학습 곡선(RabbitMQ), 숙달 시 높은 보상(Kubernetes), 이력서에 유리함, 그리고 재미를 고려했습니다. ✨
커리큘럼은 마이크로서비스 이론, 개발 환경 설정, 클린 아키텍처, Kubernetes/Tilt의 필요성, API Gateway, WebSocket, gRPC를 이용한 동기 통신, RabbitMQ를 이용한 비동기 통신, 결제(Stripe), 배포(Google Cloud) 등을 다룹니다. 📚
과정 중 Kubernetes를 활용한 초기 프로덕션 배포를 통해 실제 배포 과정을 빠르게 경험할 수 있습니다. ☁️
Jaeger를 통한 분산 트레이싱과 관찰 가능성(Observability)을 학습하여 마이크로서비스 간의 복잡한 상호작용을 이해합니다. 🔍
결제 시스템(Stripe) 통합 모듈을 통해 실제 애플리케이션에서 수익 창출을 위한 중요한 기능을 구현하는 방법을 배웁니다. 💰