less than 1 minute read

레디스 PUB/SUB

레디스를 사용하는 주된 이유중 속도가 빠른것도 있지만 pub/sub 기능 지원 때문이라고합니다.

SUBSCRIBE, UNSUBSCRIBE, PUBLISH 는 게시자/ 구독자의 메세지 패러다임을 구현합니다.

게시된 메세지는 구독자가 무엇인지 대한 지식없이 채널로 특징이 지어집니다.

구독자는 하나 이상의 채널에 관심을 표명하고 해당 게시자가 누구인지에 대해 알 필요가없고

관심있는 메세지만을 수신합니다.

이렇게 게시자와 구독자를 분리하면 확장성이 향상되고 보다 동적인 네트워크 토폴로지가 가능해집니다.

또한 레디스의 pub/sub 시스템은 메세지를 보관하지 않습니다.

pulbish 하는 시점에 이미 실행한 subscribe 명령으로 대기하고있는 클라이언트 들에게 전달됩니다.

pub/sub 와 클러스터

클러스터에서 publish하면 클론을 포함한 모든 노드에게 보냅니다.

따라서 마스터에서 publish한 메세지를 클론(슬레이브) 에서

subscribe할 수 있습니다. 마스터 뿐만 아니라 클론에서도 publish할 수 있습니다.

클론에서 publish한 메시지를 다른 클론에서 subscribe할 수 있기도 하기때문에 Pub/Sub를 중요하게 사용한다면 클러스터를 사용해야합니다.

Reference

http://redisgate.kr/redis/command/pubsub_intro.php

https://realmojo.tistory.com/170

Categories:

Updated: