- MSA 기반 생성형 인공지능을 활용한 물류 시스템 서비스 구축
-
자동화된 물류 시스템 구축 필요
-
반복되는 형식의 보고서 작성 필요
-
생성형 AI를 활용한 알림 및 보고서 작성을 통한 편의성 제공
-
유연한 상태 변경을 통한 배송 추적 편리화
-
지리 API 를 활용한 배송 경로 및 소요 시간 추적
-
확장 가능성을 고려한 아키텍처 설계
박상훈 | 이범수 | 조인희 |
---|---|---|
@shoon95 | @beomsu1 | @InHees |
BE | BE | BE |
USER
ADMIN
HUB
COMPANY
PRODUCT
- 허브 정보를 활용하여 재귀적으로 경로를 생성합니다.
ORDER
DELIVERY
AI
SLACK
- 회원 가입 후 slack 메세지를 활용하여 인증 후 계정 활성화가 가능합니다.
- QueryDSL 과 Pagenation을 활용하여 동적 쿼리작성이 가능하도록 구현하였습니다.
- FeignClient를 활용하여 MSA 환경에서의 통신을 구현하였습니다.
- PageableArgumentResolver를 커스텀하며 파라미터의 중복을 줄이며 Login 어노테이션을 만들어 헤더로부터 전달받은 값들을 편리하게 쓰도록 변형하였습니다.
- Google Maps API를 활용하여 각 주소의 위치 좌표를 추출하며, 실시간 도로 정보를 기반으로 이동 시간을 반환합니다.
slack 인증 시 인증 코드를 Redis에 저장하여 TimeToLive를 설정했으며, DB에 접근하지 않아도 되도록 했습니다.
허브 경로에 대한 생성(Create), 조회(Read), 수정(Update), 삭제(Delete) 작업이 발생할 때마다 Redis에 해당 경로 데이터를 캐싱하여 성능을 최적화합니다.
정렬, 검색어 등에 따른 동적 쿼리 작성을 위하여 QueryDSL 도입하여 활용했습니다.
MSA 환경에서 FeignClient를 사용하는 이유는 서비스 간 통신을 간편하게 관리하고 REST API 호출을 추상화하여 개발 생산성을 높이기 위해 활용했습니다.
분산 트레이싱을 통해 MSA 환경에서 각 서비스의 요청 흐름을 추적하고 성능 문제를 진단하기 위해 사용됩니다.
MSA 환경에서 수집된 메트릭 데이터를 시각화하여 시스템 모니터링과 성능 분석을 직관적으로 할 수 있게 사용됩니다.