관련 개념

PubSub모델

flutter 개발하자 2021. 1. 14. 15:08

Pub/Sub모델

Pub/Sub모델이란 메시지를 보내고 (Publish : 발행) 받는 (Subscribe : 구독) 형태의 통신을 의미한다. 

 

Pub/Sub모델 구성

Publisher, Message, SubScriber 

 

비대면 배달의 예시를 들면 쉽게 이해를 할 수 있다.

1. 배달부(Publisher)가 음식(Message)을 배달 주소(Topic)의 현관문(Broker or Channel)에 갖다 놓는다.

2. 우리(Subscriber)는 현관문 앞의 음식을 가져간다.

 

Publisher가 Message를 Topic에 해당하는 Broker or Channel에 전달해놓으면, SubScriber가 Broker or Channel의 Message를 가져가는 것이라고 생각하면 쉽다.

 

*여기서 Topic은 식별자라고 생각하면 된다.

 

 

Pub/Sub모델의 장단점

장점 - 안정적이다.

      Why? 만약 배달 시킨 사람이 집에 없었다고 하자. 배달 시킨 사람이 집에 없는 경우, 직접 배달을 한다면 배달부는 배달 시킨 사람이 집에 올 때까지 기다려야한다. 하지만 현관문 앞에 놓고 가는 Pub/Sub모델의 경우 배달 시킨 사람을 기다릴 필요가 없으며, 배달 시킨 사람은 현관문 앞의 음식을 가져가기만 하면 된다. 즉, SubScriber 서버의 다운등의 상황에서 안전한 것이다. 

 

단점 - 느리다.

      Why? Channel이나 Broker를 거쳐야하기 때문에 느리다. 하지만 요즘은 서버나 인프라 사양이 좋기 때문에 크게 문제가 되지는 않는다.

 

참고 - sugerent.tistory.com/585