[Redis] pub/sub

김기진·2022년 12월 5일
0
post-thumbnail

1. pub/sub이란 무엇인가?

  • redis는 메시지를 주고 받는 기능을 제공 한다.
  • Pub/Sub은 하나의 메시지 브로커라고 할 수 있다.
  • publish 로 메시지를 발신하고 subscribe 로 메시지를 수신한다.
  • 레디스의 Pub/Sub 시스템은 메시지를 보관(queuing) 하지 않는다.
  • Publish 하는 시점에 이미 실행한 subscribe 명령으로 대기하고 있는 클라이언트들에게만 전달 된다.
  • 레디스는 In-Memory 기반이라 매우 바르게 메세지를 전달 할 수 있다.

pub/sub 모델 :
pub-sub 모델은 비동기 메시징 패러다임이다.
pub-sub 모델에서 발신자의 메시지는 특별한 수신자가 정해져 있지 않지만. 메시지는 정해진 토픽에 따라, 각 토픽에 대한 구독을 신청한 수신자에게 전달된다

2. Pub/Sub 의 구조

하나의 Client가 메세지를 Publish하면,

해당 Topic에 subscribe 되어 있는 다수의 클라이언트가

메세지를 받을 수 있는 구조이다.

3. Redis 명령어 정리

1. subscribe

Topic subscribe 하기
Topic 에 전송된 모든 메시지를 수신 할 수 있다.

SUBSCRIBE [channel 이름]

2. publish

Topic 에 메시지 송신하기.
Topic 에 Subscribe 한 구독자는 모두 메시지르 수신 할 수 있다.

publish [channel 이름] [메시지]

3. unsubscribe

Topic subscribe 취소 하기

Topic 에 publish 된 message 들을 더이상 수신 하지 않을 수 있다.

unsubscribe [channel 이름] 

4. pubsub

subscriber 를 관리 할 수 있는 명령어

활성화된 채널 조회

pubsub channels

채널 구독자 숫자 조회

pubsub numsub [채널 이름]

이 포스트에서는 기본적인 redis 의 pub/sub 구조와 명령어를 알아 보았다.

구동 하는 채팅 서버에서 socket.io-redis-adapter 를 사용 할 일이 있어
redis 의 pub/sub 에 관하여 정리 해보는 시간을가져 보았다.

다음 포스팅으로는 socket.io-redis-adapter 를 보면서
실제 redis pub/sub 이 어떻게 사용 되는지 정리 해보면 좋을 것 같다.

profile
back-end-developer

0개의 댓글