[SpringBoot] 매칭 타이머를 Redis에서 DB로 옮긴 이유(멱등성)

·
Backend/SpringBoot
현재 내가 소마에서 진행하고 있는 프로젝트는 모여타라는 서비스로 목적지가 비슷한 사람들을 묶어 택시를 함께 타게 해주는 서비스이다. 승객이 먼저 모여 해당 방의 정원이 차면 매칭방에 지정한 출발지를 기준으로 3km 내의 기사를 호출하여 기사와 동승방이 매칭이 되어 함께 타서 비용을 절감할 수 있는 택시 모빌리티 서비스이다. 이때 매칭방과 관련해서 최대 3분동안 1km부터 시작해서 500m 씩 넓혀가며 최대 3km 인근의 기사를 찾아 호출한다. 그냥 간단하게 3km로 찾으면 되지 않나요? 라고 생각할 수 있지만 우리는 동승 택시 서비스이기에 혼자타는 것보다는 당연히 사람들이 인원이 다 모여야 하는 대기 시각 + 기사와 매칭방이 매칭이 되는 시각 까지 하면 사용자가 어느정도 시간을 투자해야 된다고 생각하여 ..