본문으로 바로가기

Redis : pub/sub model

category DB, ORM/🟥 Redis 2020. 12. 28. 20:08

graphql 쓸 때 pub/sub을 사용해본 적이 있을 것이다. 

 

pub/sub 모델은 특정한 주제(Topic)에 대하여 구독(Subscribe)한 모두에게 메시지를 발생(Publish)하는 통신 방법이다.

 

구독 시대를 살고 있어서 자연스레 이해할 수 있겠지만, 유튜브를 예로 들면, 특정 유튜버를 구독하고, 그 유튜버의 활동에 의해 구독자들은 메세지를 받는다. 너무나도 직관적이다. 이런 모델을 Pub/Sub 모델이라고 일반화하여 부를 수 있을 것이다. 모바일에서 notification을 날릴 때, 그룹 chatting를 중계할 때 등이 이러한 원리겠죠.

 

따라서, Pub/Sub 모델은 Redis에 국한된 모델이 아니라 일반적인 모델이다. Kafka, RabbitMQ 등에서도 pub/sub 모델을 구현할 수 있다. Redis에서 pub/sub 모델을 구현하면 가볍고 빠르다는 장점이 있어 redis로 pub/sub 모델을 구현하는 경우도 많다.

 

* 메세징 시스템으로는 주로 Kafka, RabbitMQ, ActiveMQ, MSMQ 등이 사용된다.

 

https://daddyprogrammer.org/post/3688/redis-spring-data-redis-publish-subscribe/

 

우분투 3대를 돌려서 간단하게 pub/usb 모델을 구현해보자.

redis에서는 독특하게, 여러 채널을 동시에 subscription할 수 있다.

 

 

publish [channel] [message]

subscribe [channel...]
subscribe test1 test2 // test1과 test2라는 채널을 구독함

publish test1 "hello from test1" // test1을 구독하고 있는 사람들은 이 메세지를 받음

 

 

 

참고한 글)

 

sugerent.tistory.com/585

 

Pub/Sub model

Ref. https://medium.com/zaneiru-tech-life-blog/pub-sub-모델에-대해서-daa3c5c52aa8 메시징 시스템을 구현하기 위해 공부를 하다보면 Pub/Sub 모델이란 단어가 나옵니다. 물론 이 글을 읽는 사용자들은 스마트..

sugerent.tistory.com

 


darren, dev blog
블로그 이미지 DarrenKwonDev 님의 블로그
VISITOR 오늘 / 전체