チャットや通知など、Webブラウザなどとリアルタイムでコミュニケーションしたいと考える場面はたくさんあります。しかし多くのクライアントとリアルタイム通信するための基盤を作るのはとても大変です。 そこで使ってみたいのがCentrifugoです。Goで作られたWebSocketを使ったリアルタイムタイムメッセージングサーバです。

Centrifugoの使い方

まずシステムにログインします。

ダッシュボードです。ノードは一つ動作しています。

メッセージを飛ばします。メッセージはJSON形式で送信します。

受信側ではJSONフォーマットで受け取ります。

元々はCentrifugeという名前で、それをGoで書き換えることでCentrifugoとなったようです。ライブラリはPython/PHP/Ruby/Perl/JavaScript/Java/Objective-Cと多数存在しており、それらを使ってサーバサイドからCentrifugoへメッセージを送ってWebSocketを使ってブラウザに表示すると言った操作ができるようになっています。

CentrifugoはHerokuにも対応していますので、自前のメッセージングサーバを手軽に立ち上げられるでしょう。

CentrifugoはGo製のオープンソース・ソフトウェア(MIT License)です。

  • 2015年09月01日:誤字修正

Centrifugal web centrifugal/centrifugo