<aside>
커플 서비스의 가장 큰 특징은 폐쇄형 SNS라는 것이다.
즉 커플 두명만 데이터를 주고 받으면 더이상 다른 누구에게 동기화해줄 필요가 없는 것이다.
우리가 데이터베이스를 사용하는 이유는 사용자들에게 데이터를 동기화 시켜주기 위함이다.
하지만 커플 서비스는 서로 간의 데이터 동기화만 이루어지면 DB를 조회할 이유가 아예 없어진다. 사용자는 자신의 디바이스 DB만 조회하면 된다.
DB를 조회하는건 사용자가 자신의 디바이스 DB를 초기화하거나(앱 삭제 등), 재로그인 시 조회한다.
</aside>
<aside>
사용자가 데이터 동기화를 위해 DB를 조회하지 않는다는 점은 DB를 바로 동기화 하지 않아도 된다는 말이다.
이 점을 이용하여 사용자의 요청이 들어왔을때 이를 REDIS에 동기화해뒀다가 배치 처리하는 것을 고려해볼 수 있다.
<aside>
유저 A와 B가 커플 연결되어 있는 상황이다. A가 일정을 수정하면 이 내용이 메시지 큐를 통해 B에게 전달되어야 한다.
</aside>
<aside>
<aside>
해당 아키텍처의 문제점을 하나하나 살펴보자
</aside>
<aside>
<aside>
메시지 큐를 ACK 기반 큐로 활용하여 유실된 데이터 문제를 해결함으로 데이터의 정합성을 보장
</aside>