토이 프로젝트를 하나 시작해 볼까 한다.
목적은 물론 개발 역량 향상이다. (사이드로 뭔가를 이제는 남겨야 필요 시 어디에 어필을 할 수 있을것 같다)
실제 현장에서 사용해 보지 못한 기술들을 간단하게 나마 사용해 보며 최신 기술에 대한 활용 역량을 향상 시키고, 의도적으로 MSA 및 비동기 메시지 통신 패턴을 사용하여 MSA 관련 내용을 정리하는 시간을 가져 볼까 한다.
우선 시작은 사내 복지몰 시스템의 주요 기능을 간단하게 구현해 볼 생각이다.
User-Service, Product-Service, Order-Service 정도를 나누어 MSA 형태로 구현할 생각이며, 우선은 서버 API 개발에 집중하여 개발할 생각이다. (이 다음 목표는 React, TypeScript 등을 사용하여 UI를 구성 해볼까 함)
사용하려는 기술들을 다음과 같다.
- Java 8
- Spring boot 2.4
- Webflux
- Spring Cloud Gateway
- Spring Data JPA
- Kafka (서비스간 비동기 통신)
- MariaDB, MongoDB(view 전용)
- Spring Security, JWT
목표는 다음과 같다.
- 신뢰할 수 있는 MSA 분산 아키텍처 설계
- Reactive Application 개발(대규모 트래픽 발생 가정)
- Event Driven Architecture 설계
- Test Code 작성
- NoSQL 활용(CQRS 패턴 사용)
진행하면서 정리되는 기술 지식들은 따로 카테고리를 나누어 포스팅을 하면 좋을것 같다.
목표는 5월 7일까지 서버 API 개발 완료...
내일부터 시작이다.