0

Web サイトの一部となるライブ チャット アプリケーションを作成しています。Web サイトは完全に PHP を使用して開発されています。問題は、私のウェブサイトの一部となるライブ チャット アプリケーション プラットフォームに最適なツールは何かというジレンマに陥っていることです。私のウェブサイトのユーザーを使用し、それが含まれているPHPアプリケーションとセッションを共有する必要があります。

私はいくつかの調査を行いましたが、思ったとおり、PHP + Apache は、私のライブ チャットのような Web ソケットに基づくアプリケーションの開発に最適なツールではありません。Node.js のような他のプラットフォームは正しい選択のように見えますが、Node を作成して PHP アプリケーションとリソースを共有することがどれほど簡単かはわかりません。

このような状況にどのようなアプローチを使用するのか興味がありますか? システムのどのアーキテクチャを実装しますか?

最後に、私の PHP Web サイトは MySQL ベースであり、クライアント側の実装に knockoutJS を使用していることをお伝えしたいと思います。フォールバック戦略と HTML5 以外のブラウザーのサポートのため、クライアント側で SocketIO を使用します。サーバー側でも使用できることはわかっていますが、それとノードまたは現在未知の他のソリューションとの間で疑問があります。それが、私がここでこの質問をしている主な理由です。共有ホスティングで実行される可能性はわずかですが、共有ホスティングとソケット接続の問題 (ポートが閉じている、Node をインストールするための SSH がないなど) を完全に理解しています。この可能性について提案がある場合は、書き留めてください。それ以外の場合は、それを忘れて、VPS で実行されるように答えてください。

ありがとう。

4

1 に答える 1

2

node.js を使用する予定がある場合は、node.js を既存の php 環境に統合するのに役立つソリューションがあります。(例: PHP セッションを node.js と共有する) Node は apache ではうまく機能しないため、おそらく Nginx と PHP-fpm への切り替えを検討することをお勧めします。

個人的には、単純な「チャット」アプリケーションのかなりの量の変更である、これを「うまく」実行することです。私はおそらく、すでに開発されたソリューションであるComet Chatの統合を検討するでしょう。または、もう少しカスタマイズしたい場合は、別のプラットフォームで既存のアーキテクチャを使用するものを構築します。 Firebaseは、あなたのニーズに完全に適合するように見える非常に素晴らしいサービスです。これがユーザーにとって良い解決策として機能する場合は、Node.JS でカスタム ビルドされたものを実装する作業を行います。

社内ソリューションは、サーバーのニーズを評価することから始まります。予想される同時接続数は? 低レベルのオペレーティング システム機能を制御できますか。オープン ソケットとオープン ファイルの制限は、共有ホスティング プランの主な制限要因のようです。そのため、さまざまなホスティング プランを評価する必要がある場合があります。Node & PHP の優れた PaaS ソリューションはAppFogです。Appfog は、最大 2 GB および 10 インスタンスまで無料で、使い始めるのに役立ちます。完全な制御が必要な場合は、専用サーバーまたは amazon AWS のようなものをお勧めします。

次に、アーキテクチャを評価する必要があります。私が言ったように、Nginx は PHP と node.js の両方を提供する方法として非常に優れていますが、ニーズにより適したオプションが他にもたくさんあります。

Ballons.ioのソースコードを見て学習を開始するのに適した場所です。これは非常によく書かれたオープンソースのチャットであ​​り、PHP と node.js の間のセッション管理の一般的なソリューションである redis を活用しています。何よりも、AppFog でソースをビルドし、費用をかけずに社内ソリューションとコードを数分でテストできます。

幸運を!

于 2013-02-16T21:56:47.457 に答える