Vehicle System

상태 레거시 정리 및 새로운 상태 모형 설계, 점진적 마이그레이션

기존 디어 상태의 문제점을 파악하고, 이를 해결할 수 있는 새로운 디어 상태 모형 설계. 발표 자료
새로운 상태 모형에 맞게 이동수단을 관리하는 Vehicle System 개발
모든 시스템에 존재하던 상태 로직을 제거하고, 상태를 Vehicle System에 의존하도록 모든 시스템점진적 마이그레이션

Vehicle System

새롭게 설계된 상태 모형에 맞게 도메인 설계구현
전체를 한번에 내려주던 이동수단 목록 조회 API좌표를 받아 바운더리 기반으로 조회할 수 있도록 개선
응답속도 개선 DB 부하 절감을 위해 조회 API를 위한 Redis 캐시 구조 설계구현
하드웨어에 대한 조작 없이 상태 변화 요청만으로 하드웨어를 조작할 수 있도록 추상화된 API 개발
내부 이벤트 처리 및 외부 이벤트 발행을 위해 해당 글을 참고하여 이벤트 기반 시스템 설계구축
Cron Job이 밀리고 실시간성이 떨어진다는 문제를 해결하기 위해 Event Worker 설계구현
SQS 이벤트를 손쉽게 일관된 방식으로 처리할 수 있도록 프레임워크 개발
해당 글을 참고하여 Spring REST Docs를 위한 Kotlin DSL을 개발하여 REST Docs 테스트 코드 가독성 개선. 사진 참조
Kotest를 이용해 테스트를 작성해 커버리지 60% 달성
Github Action, Jib를 이용해 컨테이너 이미지를 빌드하고 AWS ECR을 통해 관리
AWS ECS on EC2에 배포 및 운영
Github Action, S3를 이용한 API 문서 빌드 및 제공
테스트 환경과 운영 환경에서 배포할 수 있도록 배포 CLI 개발
설정 파일만 추가하면 Github Action을 사용하는 다른 시스템에서도 사용할 수 있도록 개발