私はこの質問をする前にいくつかの調査をしましたが、私の状況に対する具体的な答えを見つけることができませんでした。
サーバー上のDBにリアルタイムで同期するWebChatを作成したいと思います。 (MySQLまたはMongoDB-すべてOK)しかし、データの同期については、いくつかの方法があります。
ラチェットによるPHP + WebSocketと私の仕事は、認証とメッセージングのためにJSONによってプロトコルを作成することだけです。多くのドキュメント、多くのチュートリアル。 (私はWebSocketがIEで機能しなかったことを知っていますが、問題ではありません)
node.js + socket.io-1。と同じ技術ソリューションがありますが、言語が異なります。
node.js + meteor.js(sockJS)-みんながすべての仕事をしたようで、プロトコル機能を追加する必要はありません。ロジックをコーディングするだけです。しかし、高負荷はどうですか?ドキュメントはどうですか...非常に若いフレームワーク。
Tornado + TornadIO2(socket.io)+ RabbitMQ
誰かがRabbitMQをmeteor.jsと比較できますか?パフォーマンスによる。どちらの方法が良いか誰かが言うことができますか?
すべてのフレームワークについてはわかりません。そのため、これら4つよりも優れたオプションがある場合は、教えてください:)
ご意見をお聞かせください。ありがとうございました!
phpに基づくwebsocketサーバーをお勧めします: ラチェット 。私はそれを使用しますそしてこれ リンク はベンチマークラチェット間のwebSocketサーバーですおよびSockJS。
ウェブチャットを作成したいので、最高のパフォーマンスと優れたCPUパワーが必要です。ラチェットは、クライアントとサーバー間のメッセージを処理するための優れたソリューションを備えています。また、クライアントのグループ向けにブロードキャスト送信メッセージングと特別な送信メッセージングを備えています。また、サーバーイベントを適切に制御します。たとえば、mysqlの更新 [〜#〜] zmq [〜#〜] Libarary.Ratchet&ZMQは Reactphp Projectの上にあります
また、最新のWebブラウザーの通信機能を強化するためのもう1つの取り組みであるWebRTC(WebSocketに関連するテクノロジー)もご覧いただけます。 WebRTCは、Web用のピアツーピアテクノロジーです。 WebRTCの最初のアプリケーションは、リアルタイムの音声およびビデオチャットです。 WebRTCは、すでにメディアアプリケーションにとって魅力的な新技術であり、Webを介してビデオとオーディオでこれをテストできる、オンラインで利用可能なサンプルアプリケーションが多数あります。これを確認してください リンク
残念ながら、私は最初の3つしか話すことができません。散発的な切断や複雑な接続システムなど、一般的なWebSocket(socket.ioを含む)に関する私の経験は標準以下でした。とはいえ、それは非常に強力で多様です。 WebSocketを使用すると、ほぼすべてのプラットフォームでサーバーまたはクライアントを実行できます。 Socket.ioはこれをある程度制限しますが、実際にはWebSocketのサブセットにすぎません。しかし、流星は完全に異なる球技です。最初は混乱しますが、アプリの構築とデプロイがいかに簡単であるかに非常に感銘を受けました。それは強力で柔軟性があります。 WebChatの複雑さに応じて、どちらかが適切なオプションになります。もっと簡単なことをしたいのなら、socket.ioを使います。より複雑な場合は、流星をお勧めします。
お役に立てれば。