3

node.jsがクライアントとウェブサーバーにどのように適合するかについては、私の説明は正しいですか?node.jsはクライアントのどこにありますか<--> Webサーバーのフロー?

  • (A)はクライアントである
  • (B)は
  • (C)は、ビジネスロジックをホスティングしている "サービス"、データベースアクセスルーチン、例えばいくつかのウェブサーバ上で実行されているのNode.jsであります"GetCustomer()"簡単にするために、サービス(C)がRESTインタフェースを公開すると仮定します。

このように、クライアント(A)はnode.js(B)からリソースを要求し、この要求を非同期でイベントの発生したすべてのサービスと共にサービスに送りますC)は、顧客情報を取得してコールバック経由でnode.js(B)に返し、node.jsはその応答をクライアントに返します。

1.これは正しいですか?

2つの関連質問:

2.Howは、Node.jsのにリクエストをディスパッチするサービスを知っていますか?クライアントがサービスと直接話をしていないので、サービスAPIをミラーリングするnode.jsにapi "スタブ"を作成する必要がありますか?

3.このアーキテクチャではどのようにセッション状態が処理されますか?通常のフローのすべての "ダイアグラム" の

+0

なぜNode.jsで処理できないのですか?Node.jsのメーリングリストでもっとうまくやってみるとよいでしょう。 –

+0

@Josh - あなたの最初の質問が何を意味するかわかりません。メーリングリストに関しては、これはStackOverflowです!ここにはnode.jsの質問がたくさんあります。 SOの目的は、このことを統合することです。 – Howiecamp

+0

目的は直接質問をすることです。これは、「Node.jsでXをどうやって行うのですか?」と比較して、より哲学的であり、使用目的です。 –

答えて

7

まず:あなたの最後の二つの質問については

 Client         
     |          
     v          
    Request        
     |         
     v               
(load balancer e.g. nginx)     
     |         
     v          
Node.js Instance       
|  |  |        
v  v  V        
DB APIS FILES       

は:

  1. は、どのようにそれはそれを知りたいですか? Node.jsは汎用フレームワークで、これを処理するコードを記述する必要があります。

  2. この場合も、Node.jsは完全に汎用です。インスタンスが1つだけの場合は、となります。さもなければredisなどを使用する可能性が高いでしょう。

ゲームサーバーをNode.jsに書き込むことができます。数字だけを処理したり、Webサーバーを作成したりできます。

しかし、あなたが好きなやり方でやったり、好きなようにフレームワークを探したりする必要はありません。

+0

私はノードに関しては「未知の未知数」カテゴリにあることを認識しました。私は少ししか知っていないので、私は何を尋ねるか分からない。ここでnode.jsに関する記事を見ると、私は同じ結論を見ることができます。多くの人がそれが何であるかを尋ねると答えにあいまいであるように見えます。なぜなら、具体的な例の使用例は来にくいからです。私の質問#2について、私は間違いなくそれを貧弱に尋ねました。 httpリクエストがノードにどのようにして行われたか(いくつかの残りのAPI .../customer/1としましょう)、そしてその後、その休憩サービスに派遣されるという非常に基本的な例を挙げることができますか? – Howiecamp

+0

あなたが 'httpServer'を設定して、着信接続を処理する必要がありますREST処理するためには、モジュールのトンは、人々はすでに(HTTPS用のものの並べ替えを行う可能性が構築することをそこにあります:// github.com/ry/node/wiki/Modules#web-frameworks-full)私は現在、http://expressjs.com/でサイトを構築しています。また、昨年のNode.jsでマルチプレイヤーゲームを構築しました://github.com/BonsaiDen/NodeGame-Shooter。あなたは、おそらく理解の私のギャップが、私はそれがあるよりも、これはより複雑にしようとしているということです –

2

Node.jsは、Webブラウザで実行されないjavascriptでアプリケーションを作成するためのフレームワークです。その非同期性のため、Webサービスを作成するのは本当にうまくいきます。 (B)Node.jsはWebサーバーであり、Webサーバー(Apache)内では実行されません。 (C)あなたのすべてのロジックはNode.jsアプリに入れることができますし、Node.jsアプリは他のサービスと通信してデータを取得することもできます。それはあなた次第です。

2の場合、あなたはいつでもあなたが望むことができます。あなたはコードを書いている、それはあなたのアプリで意味をなさない方法です。

3の場合、状態はコールバックに渡されるセッション/接続オブジェクトによって処理されます。

+0

http://stackoverflow.com/tags/node.js/info私達のタグのWiki内のリンク/交渉をチェックアウトする必要があります。 – Howiecamp

関連する問題