spring 환경에서 redis pub-sub을 이용한 멀티 캐스팅
도입 계기 기존에 대기자를 매칭하는 서비스를 제작하고 있었다. 해당 서비스는 SSE(Server Sent Event)로 구현하며, 각 서비스가 Sink 상태를 직접 관리하였다. 문제는 서비스가 Sink를 관리하다보니 스케일 아웃 진행시에 각 확장 서버가 대기자를 동기화가 되지 않는 문제가 있었다. 대기자를 동기화하기 위해서 새로운 대기자가 생기면 각 서버에 multicasting 하는 방법을 구상했다. 멀티 캐스팅이란? 네트워크에서 그룹으로 지정된 여러 대상에게 대이터를 전송하는 방식. 송신자는 그룹에 데이터를 전송하고, 해당 그룹에 가입된 수신자만 데이터를 수신하는 구조. redis pub-sub란? 인메모리 DB인 redis는 publish-subscribe 메시징 패턴을 지원하여 메시지를 발행하고 ..
2023.07.15