[PUB/SUB] PUB/SUB

무1민·2023년 7월 20일
0

Pub/Sub

목록 보기
1/3

Pub/Sub 모델이란

  • Publish/Subscribe의 줄임말로 메시지 기반의 미들웨어 시스템
  • 일반적으로 메시지를 전송할 때는 publisher(sender)가 subscriber(receiver)에게 직접 메시지를 전송
  • 하지만, Pub/Sub 모델에서는 publisher는 어떤 subscriber가 있는지 모르는 상태에서 메시지를 전송하고 subscriber는 publisher에 대한 정보 없이 자신의 Interest에 맞는 메시지만을 전송 받는 것

위의 그림을 보면 sensor는 어떤 기기가 메시지를 받을지 모르는 상태에서 MQTT로 데이터를 전송.
그리고 MQTT는 temperature가 필요한 기기들에게 메시지 전송.
Pub/Sub 모델은 publisher는 전송 대상은 모르면서 미들웨어로 메시지를 전송하고 이를 통해 subscriber에 전송하는 시스템

Message Filtering

Topic-based system

Publisher가 먼저 message의 topic을 정의한 후에, topic으로 메시지를 전송.
그러면 Subscriber는 subscribe한 topic으로 전송되는 메시지만을 전송 받는다.

Content-based system

Subscriber가 먼저 message에 대해 자신이 원하는 topic을 정의.
이렇게 하면, 이 topic에 맞는 메시지만이 publisher로부터 전송

Hybrid System

위의 두 시스템의 형태를 합쳐 놓은 형태로, publisher가 message의 topic을 정해두고 각 topic으로 message를 publish하면, 전송된 메시지 중 그 topic에 subscribe한 subscriber들이 정의해둔 topic에 맞는 메시지만이 subscriber에게 전송되는 형태입니다.

장점

Loosely coupled

Pub/Sub 모델에서는 미들웨어를 통해 publisher와 subscriber 사이의 연결을 약하게 만들었다는 점
기존에는 publisher와 subscriber가 서로와 system topology에 대한 제약이 많았는데 신경 쓸 필요가 없어졌다는 부분

Scalable

상대적으로 적은 설치 비용 및 규모에 비해 연결이 약하기 때문에 뛰어난 확장성

단점

End-to-end 시스템의 강점 상실

기존의 시스템은 확실하게 전송부와 수신부가 직접 통신하기 때문에 목적지까지 메시지를 확실하게 전송 가능.
하지만, Pub/Sub 시스템은 직접 통신하는 것이 아니라 미들웨어를 통하기 때문에 의도한 대로 전달하지 못할 수도 있음.

profile
야호

1개의 댓글

comment-user-thumbnail
2023년 7월 20일

소중한 정보 잘 봤습니다!

답글 달기

관련 채용 정보