7th Weekly Reflection

Metronon·2025년 1월 4일

REST-API

목록 보기
11/12
post-thumbnail

지난번에 공부했던 내용중 클라이언트와 서버 간의 통신(연결) 기술중 HTTP, SSE, WebSocket 이외에도 다른 연결 기술이 있는지 궁금해졌다.
오늘은 리소스 및 환경에 맞게 사용되는 다양한 통신 기술에 대해 조사해보았다.

gRPC (google, Remote Procedure Calls)

오픈 소스 원격 프로시저 호출(RPC) 프레임워크이다.
HTTP/2를 기반으로 하며, 바이너리 프로토콜을 사용하여 성능이 뛰어나다.
스트리밍과 양방향 통신을 지원한다.

사용 예시

  • 내부 마이크로서비스 간 통신 - Netflix
  • 결제 처리 시스템 (양방향 통신으로 인해 신뢰성이 높음) - Square

GraphQL

API를 위한 쿼리 언어이다.
클라이언트가 필요한 데이터를 정확히 지정할 수 있어, 효율적인 데이터 전송이 가능하다.
단일 엔드포인트를 통해 여러 데이터를 요청할 수 있습니다.

사용 예시

  • 필요한 데이터를 효율적으로 쿼리할수 있도록 API 제공 - Github
  • 상점 데이터 및 상품 정보를 효율적으로 가져옴 - Shopify

MQTT (Message Queuing Telemetry Transport)

경량 메시징 프로토콜로, IoT(사물 인터넷) 애플리케이션에서 자주 사용된다.
낮은 대역폭과 전력 소비를 목표로 설계되었고, 게시/구독 모델을 사용하여 실시간 통신을 지원한다.

사용 예시

  • 실시간 양방향 메시지 전송 - Facebook Messenger
  • IoT 장치 간의 실시간 데이터 통신 - MQTT

AMQP (Advanced Message Queuing Protocol)

메시지 지향 미들웨어를 위한 오픈 표준 프로토콜이다.
높은 신뢰성과 보안을 제공한다.
큐잉, 라우팅, 보안, 트랜잭션 등을 지원한다.

사용 예시

  • 큐 기반의 메시징 솔루션 - RabbitMQ
  • 클라우드에서 안정적인 메시지 큐잉 제공 - Microsoft Azure Service Bus

CoAP (Constrained Application Protocol)

제한된 리소스를 가진 장치에서 사용하기 위한 경량 프로토콜이다.
주로 IoT 환경에서 사용되고, HTTP와 유사한 요청/응답 모델을 사용한다.

사용 예시

  • IoT 장치에서의 효율적인 데이터 전송 - Contiki OS
  • 스마트 홈 장치 간의 저전력 통신

WebRTC (Web Real-Time Communication)

브라우저와 모바일 애플리케이션 간 실시간 통신을 위한 기술이다.
음성, 비디오, 데이터 전송을 지원하고, P2P 연결을 통해 낮은 지연시간을 보장한다.

사용 예시

  • 브라우저 간의 실시간 비디오 및 음성 통화 지원 - Google Meet
  • 실시간 음성 채팅 기능 제공 - Discord
profile
비전공 개발 지망생의 벨로그입니다!

0개의 댓글