- 목적: 메세지 브로커 활용을 통한 택시 서비스 구현
- 구성: 택시, 유저, 플랫폼, 결제 서비스 4가지 부분으로 구성
- 핵심: 택시 서비스를 서버(플랫폼, 결제)와 클라이언트(드라이버, 유저)로 나누어 구현
- 역할: 유저, 택시 드라이버, 결제 서비스 간 메세지 처리
- 기능:
- DB와 연결되어 유저 및 드라이버 정보 매칭
- 승차 완료 및 결제 처리
- 컨트롤러: 없음 (PubSub+ 메세지 처리 기반)
- 역할: 택시 결제 처리
- 기능:
- 플랫폼으로부터 DropoffComplete 메세지 수신
- 결제 요청 전송
- 큐를 활용한 결제 트랜잭션 처리
- 기능:
- 위치 정보 및 승객 탑승 여부 주기적 발신 (토픽)
- 탑승 요청 수락 및 승객 탑승
- 승차 완료 시 PickupComplete 토픽 발신
- 도착 완료 시 DropoffComplete 토픽 발신
- 기능:
- 택시 호출 시 위치 정보 및 랜덤 목적지 발신 (토픽)
- 플랫폼으로부터 매칭된 택시 정보를 수신 및 드라이버 ID출력
- 결제 처리 (Payment Queue 활용)
- 결제 실패 시 재시도