PHPからNode.jsに変更することでメリットがありますか(コンテキスト内)[終了]


8

状況:本質的にはロギングサービスをロールアウトしようとしています。PHPはかなり重いので、現在の実装ではそれを使用しています。

約200台のコンピューター(ほとんどが同じネットワーク上にある)があり、それぞれがHTTP POST経由で1日あたり約5000の要求を送信します。各リクエストには約300バイトのデータが含まれます。

受信側はAmazonでホストされており、すべてをデータベースに入れる単純な検証を備えた非常に単純なPHPフォームです。

今、私は最近Node.jsを紹介されましたが、ここのバックエンドに適しているかどうか知りたいです。

これをテストするために何かを簡単に構築できることは確かです。しかし、非同期の方法論を完全に把握していないので、経験のある人に説明してほしい。


これはプログラマーに関する私の最初の投稿なので、私は優先される質問の種類についてはわかりません。これは「下落可能」かもしれませんが、私は危険を冒しています。
danneth 2012

2
+1。質問は私には問題ないようです。建設的であり、あまりにもローカライズされていません。
Arseni Mourzenko 2012

10
現在のプラットフォームが機能するのに、なぜ別のプラットフォームを検討しているのですか?好奇心は素晴らしいですが、あなたの設定とニーズを考えると、科学のためにこれを実験するべきではないと思います。PHPが望んでいるすべてのことをPHPが実行しているかどうかはわかりませんが、PHPを実行してもプラットフォームの切り替えに意味がありません。Node.jsはすばらしいので、それに慣れることは非常に価値がありますが、おそらく小規模なプロジェクトでそれを行うことを検討する必要がありますか?実験に適したものはありますか?
yannis 2012

@YannisRizosあなたが言うように、私たちが成長したとしても、現在の設定はうまくいくと思います。したがって、ある意味では、それは科学と将来のプロジェクトの参照のためだけのものです。おそらく私は何も変更せず、Nodeの理解を深めるというアイデアをもてあそぶでしょう。基本的に-実世界の例を取り、いくつかの啓発的な答えを期待してください:)
danneth

1
@YannisRizos私は常に、迅速で簡単なテストで、何かを追求する価値があるかどうかを判断するのに十分であることに気づきますが、実際にそれが可能かどうかを確認するには、より大きなプロジェクトに取り組む必要があります。既存のセットアップのテスト目的)。最大の利点は、以前とまったく同じように機能するかどうかを確認できることと、パフォーマンスを直接比較するために使用できることです。
gbjbaanb 2012

回答:


11

約200台のコンピューター(ほとんどが同じネットワーク上にある)があり、それぞれがHTTP POST経由で1日あたり約5000の要求を送信します。各リクエストには約300バイトのデータが含まれます。

それは約10リクエスト/秒です。したがって、を切り替える必要がないこと明らかです。

切り替えの実際のメリット(貴重な経験を得る以外に)?さて、あなたが言ったように、あなたはAmazonでホスティングしています。node.jsを使用すると、負荷が少なくなります。つまり、その種の負荷にマイクロインスタンスを使用して、お金を節約できます。また、非同期フレームワークであるため、たとえばデータベースに保存する前に応答を送信することにより、レイテンシを削減できます。


7

あなたとあなたのチームがPHPの良い経験を持ち、それを実装するのに十分単純な場合、私はそれを使い続けます。トラフィック量が増えて同時実行性が問題になる場合は、ノードを理解する価値があります(さらに、新しい言語を学ぶのはいつも楽しいです!)。

ノードの他の利点は次のとおりです。それは速いです。

しかし、このシナリオでも、適切に記述されたPHPが負荷の処理に問題を抱えているとは思えません。


この場合、負荷はおそらく問題になりません。提案されている次のプロジェクトではもっと問題になります。この実験の目的(考えられ、潜在的な発展として)は、同時実行性がどのように、いつ役立つかを把握することです
danneth 2012

また、速度とスケーラビリティが本当に必要な場合は、vert.x
K

0

私は理学士論文のためにnode.jsを使用しましたが、それはとても素晴らしい経験でした。それに加えて、phpアプリケーションと一緒に使用されたので、両方のテクノロジーを比較できました。

手に十分な時間があれば(JavaScriptに慣れていればそれほど時間はかかりません)、試してみるのもよいでしょう。そうすれば、より多くの同時実行性が必要になる可能性がある次のプロジェクトでそれを実装するかどうかがわかります。


0

Node asyncの最も良い説明は、Node Beginnersブックです。無料です(ただし$ 10相当)。それはあなたのノードサーバーを書く方法を説明し、とてもよく書かれています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.