inflearn logo
강의

講義

知識共有

RabbitMQ を使用した非同期アーキテクチャを一気に解決する

9.Consumer間の作業分担-WorkQueue part 2

Pub/Sub & WebSocket 활용한 실시간 알림

解決済みの質問

216

serverengineer

投稿した質問数 18

0

SSE & Redis와 Pub/Sub & WebSocket을 비교하고 있는데요.

실시간성과 정확성을 위해서라면 Pub/Sub & WebSocket을 더 많이 쓰나요? 알림의 특성상 채팅과 같은 양방향은 아니기 때문에 WebSocket이 적합한 선택인지 궁금합니다.

java spring-boot jpa msa websocket rabbitmq

回答 2

1

codevillain

안녕하세요. 코드빌런입니다.

 

양방향이 아니면 SSE와 Redis pub/sub으로도 충분히 요건에 대응이 가능합니다.

 

본 강의 주제에 맞게 기술스택을 선택한거지 특정 환경에서 특정 기술을 사용해야 한다는 의미로 강의를 잡은건 아니므로 참고만하시고, 실제 업무상에서 필요한 기술들은 상황에 맞게 선택하시면 됩니다.

 

감사합니다

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. aowiwldndks님.

질문해주신 Pub/Sub & WebSocket과 SSE & Redis 간의 비교 주제는 다양한 시스템 설계에서 중요한 고려사항입니다. 실시간성과 정확성을 제공하기 위해 각 기술의 특성을 이해하는 것이 중요합니다.

  1. Pub/Sub & WebSocket

    • WebSocket은 클라이언트와 서버 간의 양방향 통신을 지속적으로 유지할 수 있는 프로토콜로, 주로 실시간 업데이트가 필요한 애플리케이션에서 사용됩니다. 실시간성이 중요한 경우 WebSocket은 매우 적합합니다. 예를 들어, 실시간 채팅이나 게임, 주식 거래 시스템 등에서 사용됩니다.
    • Pub/Sub 패턴은 메시지를 특정 주제(Topic)로 발행하고, 해당 주제를 구독한 모든 클라이언트에게 메시지를 전달하는 방법을 제공해 다수의 수신자가 같은 메시지를 받아보게 하는 데 유용합니다.
  2. SSE & Redis

    • Server-Sent Events (SSE)는 서버에서 클라이언트로 일방향 데이터 스트림을 보낼 수 있는 기술로, 주로 HTML5 기반의 애플리케이션에서 사용됩니다. SSE는 대규모 실시간 데이터 스트리밍에 강점이 있으며, 브라우저와의 호환성이 좋습니다.
    • Redis의 Pub/Sub 기능은 간단하고 빠른 메시지 브로커 기능을 제공합니다. 하지만 메시지 내구성이 보장되지 않으며, 클러스터 환경에서 메시지가 유실될 수 있는 점이 있습니다.

만약 양방향 통신이 필요하지 않다면, Pub/Sub와 함께 WebSocket보다는 SSE를 고려할 수도 있습니다. 그러나 WebSocket이 더 넓은 범위의 애플리케이션에서 활용되며 TCP 연결을 통해 안정적인 송수신을 제공하기 때문에, 실시간성과 정확성이 핵심인 알림 시스템에서 많이 선택되는 것이 현실적입니다.

이와 관련하여 보다 깊은 이해를 위해 다음의 링크를 참조해 보시기 바랍니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

16 강의 메세지 retryCount의 의도

0

23

2

step 4 - fanout 관련 질문

0

69

2

dlx dlq 설정 관련

0

65

1

동적 큐 이름 설정 방법 및 SimpleRabbitListenerContainerFactory의 재정의에 따른 Retry 설정 미적용 관련 질문입니다.

0

100

1

강의 자료 관련

0

85

2

인증 에러

0

83

2

RabbitMQ에서의 트랙잭션 메시징 질문

0

110

2

Producer/Consumer 단위

0

71

2

안녕하세요 섹션2. 12번 강의에서 질문 있습니다.

0

84

2

안녕하세요 "섹션2 8. Consumer간 작업 분배" 에서 질문 있습니다.

0

91

2

컨슈머 서버 질문드립니다

0

81

2

DLQ 관련 질문

0

131

2

알림은 왜 pub sub 구조로 설계하나요?

0

150

2

Receiver를 여러개 하려면 어떻게하나요?

0

141

2

깃허브 step11 브랜치

0

99

1

DLQ 재시도 로직 처리후 DLQ에 unacked 1건이 남는거에 대해서

0

152

2

NotificationMessage가 필요한 이유 질문

0

110

2

스탭4 질문드립니다

0

155

3

생성자 질문드립니다

0

107

2

채팅 방식 질문입니다!

0

140

2

강의와 살짝 무관하지만.. MQ에 대한 질문이 있습니다!

0

209

1

챕터18 retry yml 강의 부분 질문

0

190

2

tutorial-step4 질문

0

150

2

pub/sub, producer/consumer 차이

0

266

2