인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

dsakdsasadas님의 프로필 이미지

작성한 질문수

RabbitMQ를 이용한 비동기 아키텍처 한방에 해결하기

9.Consumer간 작업분배-WorkQueue part 2

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

해결된 질문

작성

·

51

0

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

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

답변 2

1

코드빌런님의 프로필 이미지
코드빌런
지식공유자

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

 

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

 

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

 

감사합니다

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 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 연결을 통해 안정적인 송수신을 제공하기 때문에, 실시간성과 정확성이 핵심인 알림 시스템에서 많이 선택되는 것이 현실적입니다.

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

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