[회고]B2B-물류관리 및 배송 시스템
이번 프로젝트로는 물류관리 및 배송 시스템 프로젝트를 진행하였고 회고를 진행하기 위해 글을 작성했습니다.
프로젝트 목표 및 자세한 내용은 github를 참고해 주시면 감사하겠습니다.
1. 프로젝트를 진행하면서 좋았던 점 / 잘한 점
1. 프로젝트를 모놀리식 구조가 아닌 MSA구조로 진행한 점
- 각 기능별로 서로 연관되는 서비스끼리 분리하여 관리할 수 있도록 프로젝트를 진행한 점이 좋았습니다.
- 아래 사진과 같이 서비스를 분리했으며 저는 Order부분을 구현하였습니다.
2. 구현을 맡은 Order 서비스 요구사항을 끝까지 구현한 점
- 프로젝트의 요구사항을 세밀한 부분까지 완벽하게 구현하지는 못했지만 요구사항을 끝까지 구현하였습니다.
2. 프로젝트를 진행하면서 아쉬웠던 점 / 부족했던 점
1. 필수 요구사항 외 도전 기능을 진행하지 못한 점
- 필수 구현 요구사항 외에 도전 기능을 진행하지 못한 점이 아쉬웠습니다.
3. 프로젝트를 진행하면서 배운점
1. MSA구조 서비스 간 통신 FeignClient
- 일반 모놀리식 구조가 아닌 서비스를 여러개로 분리하여 작업한 MSA구조다 보니 각 서비스 간 통신을 위해FeignClient를 사용하였습니다
4. 프로젝트를 진행하면서 개선을 위해 시도해볼 점
1. FeignClient 사용을 위해 서비스 통신 Dto 중복 생성
- FeignClient를 사용해서 각 서비스 간 통신을 위해 Dto를 여러개 생성한 경험이 있습니다. 이렇게 진행하는 것 보다 라이브러리를 따로 생성한 후 관리하는 방법도 참고해보라는 피드백을 듣고 다음 프로젝트에 적용해 보고 싶습니다.
2. 주문 과정 재고 복구 로직 개선
- 현재 주문 과정에서 상품을 주문 및 수정,삭제를 진행할 때 그에 맞게 재고가 업데이트 되면서 추가되고 감소되는 로직이 구현되어 있지만 재고를 감소시키는 요청에서 실패 시 재고가 감소하지 않게 전체 과정이 중단되고 롤백되는 로직을 구현하지 못해 이 부분을 개선하고 싶습니다.
5. 프로젝트 트러블 슈팅