Centrifugo は、オープンソースのスケーラブルなリアルタイム メッセージング サーバーです。 Centrifugo は、サポートされているトランスポート (WebSocket、HTTP ストリーミング、SSE/EventSource、GRPC、WebTransport) 経由で接続されているアプリケーションのオンライン ユーザーにメッセージを即座に配信できます。 Centrifugo にはチャンネル サブスクリプションの概念があるため、ユーザー向けの PUB/SUB サーバーとなります。
Centrifugo は言語に依存せず、任意のバックエンドと組み合わせて、チャット アプリ、ライブ コメント、マルチプレイヤー ゲーム、リアルタイム データの視覚化、共同作業ツールなどを構築するために使用できます。これは最新のアーキテクチャに適しており、ビジネス ロジックをリアルタイム トランスポート層から切り離すことができます。
ブラウザーおよびモバイル開発用のいくつかの公式クライアント SDK は、双方向プロトコルをラップしています。さらに、Centrifugo は、SDK に依存しない単純なユースケース向けの一方向アプローチをサポートします。
Centrifugo の核となるアイデアはシンプルです。これは、最新のリアルタイム トランスポートの上にある PUB/SUB サーバーです。
難しいのは、このコンセプトを本番環境に対応し、効率的で柔軟にし、さまざまなアプリケーション環境から利用できるようにすることです。 Centrifugo は、リアルタイム機能の追加と多数の同時接続への拡張において、すでに多くのプロジェクトを支援してきた成熟したソリューションです。 Centrifugo は、この分野の他のオープンソース ソリューションでは利用できない一連の機能を提供します。
このリポジトリは packagecloud.io によってホストされています。
また、OSS をサポートしてくれた JetBrains にも感謝します (ここにあるコードのほとんどは Goland で書かれています)。