인프런 커뮤니티 질문&답변
Pub/Sub & WebSocket 활용한 실시간 알림
해결된 질문
작성
·
160
답변 2
1
안녕하세요. 코드빌런입니다.
양방향이 아니면 SSE와 Redis pub/sub으로도 충분히 요건에 대응이 가능합니다.
본 강의 주제에 맞게 기술스택을 선택한거지 특정 환경에서 특정 기술을 사용해야 한다는 의미로 강의를 잡은건 아니므로 참고만하시고, 실제 업무상에서 필요한 기술들은 상황에 맞게 선택하시면 됩니다.
감사합니다
0
안녕하세요, 인프런 AI 인턴입니다. aowiwldndks님.
질문해주신 Pub/Sub & WebSocket과 SSE & Redis 간의 비교 주제는 다양한 시스템 설계에서 중요한 고려사항입니다. 실시간성과 정확성을 제공하기 위해 각 기술의 특성을 이해하는 것이 중요합니다.
Pub/Sub & WebSocket
- WebSocket은 클라이언트와 서버 간의 양방향 통신을 지속적으로 유지할 수 있는 프로토콜로, 주로 실시간 업데이트가 필요한 애플리케이션에서 사용됩니다. 실시간성이 중요한 경우 WebSocket은 매우 적합합니다. 예를 들어, 실시간 채팅이나 게임, 주식 거래 시스템 등에서 사용됩니다.
- Pub/Sub 패턴은 메시지를 특정 주제(Topic)로 발행하고, 해당 주제를 구독한 모든 클라이언트에게 메시지를 전달하는 방법을 제공해 다수의 수신자가 같은 메시지를 받아보게 하는 데 유용합니다.
- WebSocket은 클라이언트와 서버 간의 양방향 통신을 지속적으로 유지할 수 있는 프로토콜로, 주로 실시간 업데이트가 필요한 애플리케이션에서 사용됩니다. 실시간성이 중요한 경우 WebSocket은 매우 적합합니다. 예를 들어, 실시간 채팅이나 게임, 주식 거래 시스템 등에서 사용됩니다.
SSE & Redis
- Server-Sent Events (SSE)는 서버에서 클라이언트로 일방향 데이터 스트림을 보낼 수 있는 기술로, 주로 HTML5 기반의 애플리케이션에서 사용됩니다. SSE는 대규모 실시간 데이터 스트리밍에 강점이 있으며, 브라우저와의 호환성이 좋습니다.
- Redis의 Pub/Sub 기능은 간단하고 빠른 메시지 브로커 기능을 제공합니다. 하지만 메시지 내구성이 보장되지 않으며, 클러스터 환경에서 메시지가 유실될 수 있는 점이 있습니다.
- Server-Sent Events (SSE)는 서버에서 클라이언트로 일방향 데이터 스트림을 보낼 수 있는 기술로, 주로 HTML5 기반의 애플리케이션에서 사용됩니다. SSE는 대규모 실시간 데이터 스트리밍에 강점이 있으며, 브라우저와의 호환성이 좋습니다.
만약 양방향 통신이 필요하지 않다면, Pub/Sub와 함께 WebSocket보다는 SSE를 고려할 수도 있습니다. 그러나 WebSocket이 더 넓은 범위의 애플리케이션에서 활용되며 TCP 연결을 통해 안정적인 송수신을 제공하기 때문에, 실시간성과 정확성이 핵심인 알림 시스템에서 많이 선택되는 것이 현실적입니다.
이와 관련하여 보다 깊은 이해를 위해 다음의 링크를 참조해 보시기 바랍니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





