본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸 · 인터넷·네트워크·원격

Centrifugo

0

Centrifugo는 Centrifugal Labs에서 개발한 오픈소스 실시간 메시징 서버입니다. WebSocket, HTTP-streaming, Server-Sent Events, GRPC, WebTransport 등 다양한 트랜스포트를 통해 앱의 온라인 사용자에게 즉시 메시지를 전달하는 사용자 지향 PUB/SUB 서버입니다.

PUB/SUB 서버라떼 메시징실시간 메시징자기 호스팅채팅 서버확장 가능

소개

Centrifugo는 Centrifugal Labs에서 개발한 오픈소스 실시간 메시징 서버입니다. WebSocket, HTTP-streaming, Server-Sent Events, GRPC, WebTransport 등 다양한 트랜스포트를 통해 앱의 온라인 사용자에게 즉시 메시지를 전달하는 사용자 지향 PUB/SUB 서버입니다. 채팅, 라이브 댓글, 멀티플레이어 게임, 실시간 데이터 시각화, 협업 도구, AI 스트리밍 응답 등 다양한 실시간 기능을 위한 범용 백엔드 솔루션으로 설계되었습니다.

상세정보

프로그램 소개

Centrifugo는 언어와 무관하게 사용할 수 있는 확장 가능한 실시간 메시징 서버입니다. 비즈니스 로직과 실시간 트랜스포트 계층을 분리하여 어떤 백엔드와도 결합하여 실시간 기능을 구현할 수 있습니다. Pubnub, Pusher, Ably, socket.io, Phoenix.PubSub, SignalR 등의 대체제로 자기 호스팅 방식으로 제공됩니다.

주요 기능

  • WebSocket, HTTP-streaming, Server-Sent Events, GRPC, WebTransport 등 효율적인 실시간 트랜스포트 지원
  • Redis, PostgreSQL, Nats를 활용한 내장형 확장성
  • 앱 백엔드와의 간단한 HTTP 및 GRPC 서버 API 통신
  • JWT 및 프록시 기반의 유연한 연결 인증 메커니즘
  • 채널 구독 다중화 및 스트림, 맵, 공유 폴링, 프록시 구독 스트림 등 다양한 구독 모델
  • 채널 내 핫 메시지 히스토리 및 재연결 시 자동 메시지 복구
  • 온라인 채널 프레즌스 정보 및 입장/퇴장 알림
  • JSON 및 바이너리 Protobuf 메시지 전송 및 최적화된 직렬화
  • 내장형 관리 웹 UI 및 Prometheus/Grafana 기반 관측 가능성

다운로드·설치 방법

Centrifugo를 가장 빠르게 시작하는 방법은 Docker를 사용하는 것입니다. 다음 명령을 실행하면 내장 관리 UI와 함께 Centrifugo를 시작할 수 있습니다.

docker run -it –rm -p 8000:8000 centrifugo/centrifugo:latest centrifugo –client.insecure –admin.enabled –admin.insecure

위 명령의 –insecure 플래그는 로컬 테스트용으로만 사용해야 하며, 프로덕션 환경에서는 절대 사용해서는 안 됩니다. 네이티브 바이너리, Homebrew 패키지 등 다른 설치 방법은 공식 문서의 설치 안내 페이지를 참조하세요.

기본 사용법

Docker로 Centrifugo를 시작한 후, http://localhost:8000에 접속하면 관리 UI에 도달할 수 있습니다. 이곳에서 실시간 연결을 모니터링하고 채널에 메시지를 게시할 수 있습니다.

이런 경우에 유용합니다

  • 실시간 채팅 애플리케이션 및 메신저 구축
  • 라이브 댓글, 뉴스 피드, 실시간 데이터 시각화 구현
  • 멀티플레이어 게임의 게임 상태 및 플레이어 행동 동기화
  • AI 모델 응답 및 라이브 생성 결과의 실시간 스트리밍
  • 금융 데이터, 주식 시세, 트레이딩 업데이트 전달
  • IoT 기기 및 센서 데이터의 실시간 위치 추적 및 시각화

지원 환경·시스템 요구사항

Centrifugo는 Go 언어로 작성되어 있으며, 자체 호스팅 방식으로 배포됩니다. 공식 SDK는 JavaScript(브라우저, Node.js, React Native), Dart/Flutter, Swift(iOS), Java(Android, JVM), Python, Go, .NET/MAUI/Unity等多种 플랫폼을 지원합니다. 확장성을 위해 Redis, PostgreSQL, Nats와의 통합을 제공합니다.

최신 버전·업데이트

현재 제공되는 버전은 6.9.4입니다. 최신 릴리스 정보는 GitHub 릴리스 페이지 또는 공식 문서에서 확인할 수 있습니다.

제한 사항·확인 사항

–insecure 플래그를 사용한 설정은 로컬 테스트 용도로만 적합하며, 프로덕션 환경에서는 반드시 인증 및 보안 설정을 구성해야 합니다. Centrifugo는 기본적으로 실시간 메시징 및 상태 동기화에 중점을 두며, 애플리케이션의 비즈니스 로직은 별도의 백엔드에서 처리해야 합니다.

시스템 요구사항

별도의 시스템 요구사항이 등록되지 않았습니다.