Stomp (Simple Text Oriented Messaging Protocol)
특징 및 용도:
간단하며 가벼운 메시징 프로토콜로, 주로 웹 애플리케이션과 메시지 브로커 간의 통신에 사용됩니다.
주로 실시간 웹 애플리케이션에서 채팅 메시지나 업데이트를 전달하는 데 활용됩니다.
사용 사례:
웹 애플리케이션 간의 간단한 메시징에 활용됩니다.
채팅 애플리케이션, 실시간 업데이트가 필요한 웹페이지 등에서 사용될 수 있습니다.
프로젝트 예시:
- 실시간 채팅 서비스 구현
- 웹 애플리케이션의 실시간 업데이트 기능 추가
프로토콜 : http
텍스트 기반의 메시지 포맷을 사용하며, 간단한 커맨드와 헤더를 정의합니다.
WebSocket
특징 및 용도:
양방향 통신을 지원하는 프로토콜로, 주로 웹 애플리케이션에서 실시간 데이터를 양방향으로 전송하는 데 사용됩니다.
실시간 게임, 주식 시장 데이터 전송, 실시간 협업 도구 등에 활용됩니다.
사용 사례:
웹 애플리케이션에서 양방향 실시간 통신이 필요한 경우에 사용됩니다.
실시간 게임, 주식 시장 데이터 전송, 협업 도구, 실시간 협업 등에 적합합니다.
프로젝트 예시:
- 온라인 멀티플레이어 게임
- 주식 거래 플랫폼의 실시간 주가 업데이트
- 실시간 협업 도구의 채팅 및 협업 기능
프로토콜 : ws
기본적으로 HTTP를 기반으로 하며, 업그레이드 헤더를 통해 WebSocket 연결로 전환됩니다.
지속적인 연결을 통해 양방향 통신을 지원합니다.
RabbitMQ
특징 및 용도:
메시지 브로커로서, 메시지 큐 시스템을 구축하는 데 사용됩니다.
분산 시스템에서 이벤트 기반 아키텍처, 로깅, 작업 큐 등 다양한 시나리오에서 활용됩니다.
사용 사례:
분산 시스템에서 메시지 큐 및 이벤트 기반 아키텍처를 구현할 때 사용됩니다.
작업 큐, 이벤트 드리븐 아키텍처, 로깅 등에 활용됩니다.
데이터 전송:
STOMP 프로토콜은 기본적으로 문자열 데이터를 주고받기에 적합하며, 직접적으로 binary 데이터를 처리하기는 어렵습니다. 따라서 WebSocket을 사용하여 binary 데이터를 처리하는 방식으로 구현하는것이 바람직합니다.
프로젝트 예시:
- 마이크로서비스 아키텍처에서의 이벤트 기반 통신
- 비동기 작업 처리를 위한 작업 큐
- 로그 메시지의 중앙 집중식 관리
프로토콜:
AMQP(Advanced Message Queuing Protocol)를 구현하여 메시지 전달과 큐잉을 관리합니다.
차이점 요약
목적과 사용 사례:
Stomp는 주로 웹 애플리케이션 간의 간단한 메시징에 사용되고,
WebSocket은 양방향 실시간 통신을 위해 설계되었으며,
RabbitMQ는 메시지 큐 시스템으로 중앙 집중식 메시지 브로커 역할을 합니다.
프로토콜 특성:
Stomp는 텍스트 기반의 간단한 프로토콜이고,
WebSocket은 HTTP 기반에서 양방향 연결로 전환되는 프로토콜입니다.
RabbitMQ는 AMQP를 기반으로 하는 메시지 브로커입니다.
활용 분야: 각 기술은 특정한 사용 사례에 뛰어나며, 선택은 프로젝트의 요구사항과 목적에 따라 이루어져야 합니다.
'끄적이는 곳' 카테고리의 다른 글
Wowza , OBS - 스트리밍을 html 웹에 띄워보자 (0) | 2024.01.07 |
---|---|
WebSocket 과 RabbitMQ가 무엇이 다를까? (1) | 2024.01.04 |
WebSocket을 사용해보자 - 1. 간단한 websocket (2) | 2024.01.04 |
Rabbit MQ , Erlang 버젼 확인 (1) | 2024.01.04 |
Shell 종류 (1) | 2023.12.27 |