Repolode
centrifugal

centrifugal/centrifugo

WebSocket, SSE, HTTP-streaming, GRPC, WebTransport로 사용자에게 메시지를 전달하는 셀프 호스팅·언어 독립형 실시간 PUB/SUB 메시징 서버입니다.

대체할 수 있는 제품:PusherAblyPubNub

스타
10,948
포크
753
열린 이슈
25
마지막 커밋
그저께

어떤 프로젝트인가요?

Centrifugo는 WebSocket, HTTP-streaming, Server-Sent Events, GRPC, WebTransport로 연결된 사용자에게 메시지를 실시간으로 전달하는 오픈 소스 메시징 서버입니다. 사용자 대상 PUB/SUB 서버로 동작해 클라이언트가 채널을 구독하고, 애플리케이션 백엔드는 간단한 HTTP 또는 GRPC API를 통해 채널에 메시지를 게시합니다.

Centrifugo는 백엔드 언어와 독립적이므로 실시간 메시지 전달을 비즈니스 로직과 분리할 수 있습니다. JavaScript, Dart/Flutter, Swift, Java, Python, Go, .NET용 공식 클라이언트 SDK를 제공하며, 간단한 경우에는 SDK 없이 선택한 전송 방식의 표준 클라이언트를 사용할 수 있습니다.

Redis(Redis Cluster 및 호환 스토리지 포함), PostgreSQL, NATS를 통해 확장할 수 있습니다. 채널 메시지 기록 및 재연결 시 메시지 복구, 입장·퇴장 이벤트가 포함된 presence, JWT 또는 프록시 기반 인증, 델타 압축, Prometheus 메트릭, 내장 관리자 웹 UI도 제공합니다.

핵심 기능

  • 01WebSocket, SSE, HTTP-streaming, GRPC, WebTransport(실험적)를 통해 메시지를 전달합니다.
  • 02Redis, Redis Cluster, PostgreSQL, NATS를 브로커로 사용해 확장할 수 있습니다.
  • 03간단한 HTTP 또는 GRPC 서버 API를 통해 채널에 메시지를 게시합니다.
  • 04채널 메시지 기록을 지원하며 재연결 후 자동으로 메시지를 복구합니다.
  • 05채널별 온라인 presence와 입장·퇴장 알림을 제공합니다.
  • 06JWT 및 프록시 기반 연결 인증을 지원합니다.
  • 07Prometheus 메트릭을 제공하고 내장 관리자 웹 UI를 포함합니다.

활용 사례

  • 웹 또는 모바일 앱에 채팅이나 메신저 기능을 구현합니다.
  • 브라우저에 실시간 댓글, 알림 또는 데이터 업데이트를 전달합니다.
  • AI 모델의 응답을 사용자에게 실시간으로 스트리밍합니다.
  • 지연 시간이 짧은 동기화가 필요한 멀티플레이어 게임이나 협업 도구를 구현합니다.

빠른 시작

  1. 1

    Docker를 사용해 내장 관리자 UI와 함께 Centrifugo를 실행합니다

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

    http://localhost:8000을 열어 관리자 UI에 접속합니다

  3. 3

    네이티브 바이너리, Homebrew, 패키지 및 프로덕션 설정에 대한 설치 안내를 따릅니다

사용 전 알아둘 점

  • 빠른 시작에서는 인증을 비활성화하는 안전하지 않은 플래그를 사용하므로 프로덕션 환경에서는 사용하면 안 됩니다.
  • WebTransport 지원은 실험 단계입니다.

포함된 컬렉션

토픽

자주 묻는 질문

centrifugo은(는) 무엇인가요?
WebSocket, SSE, HTTP-streaming, GRPC, WebTransport로 사용자에게 메시지를 전달하는 셀프 호스팅·언어 독립형 실시간 PUB/SUB 메시징 서버입니다. Centrifugo는 WebSocket, HTTP-streaming, Server-Sent Events, GRPC, WebTransport로 연결된 사용자에게 메시지를 실시간으로 전달하는 오픈 소스 메시징 서버입니다. 사용자 대상 PUB/SUB 서버로 동작해 클라이언트가 채널을 구독하고, 애플리케이션 백엔드는 간단한 HTTP 또는 GRPC API를 통해 채널에 메시지를 게시합니다.
centrifugo은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
centrifugo은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
centrifugo은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. centrifugo의 마지막 커밋은 2026년 11월 4일입니다.
centrifugo은(는) 어디에 사용할 수 있나요?
웹 또는 모바일 앱에 채팅이나 메신저 기능을 구현합니다. 브라우저에 실시간 댓글, 알림 또는 데이터 업데이트를 전달합니다. AI 모델의 응답을 사용자에게 실시간으로 스트리밍합니다. 지연 시간이 짧은 동기화가 필요한 멀티플레이어 게임이나 협업 도구를 구현합니다.
centrifugo는 어떻게 설치하나요?
Docker를 사용해 내장 관리자 UI와 함께 Centrifugo를 실행합니다: docker run -it --rm -p 8000:8000 centrifugo/centrifugo:latest centrifugo --client.insecure --admin.enabled --admin.insecure http://localhost:8000을 열어 관리자 UI에 접속합니다 네이티브 바이너리, Homebrew, 패키지 및 프로덕션 설정에 대한 설치 안내를 따릅니다
centrifugo은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/centrifugal/centrifugo

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트