web-dev-qa-db-ja.com

Node.jsまたはサーブレット?

私はJavascriptサーバー側言語、つまりNode.jsについて多くのことを聞いて読んだり、Nodeを支持する多くの比較を見たりしました。

私はそれがより良いまたはより速くなる理由、またはそれがJavaサーブレットのような成熟したものにどのように関連するかさえ理解していません。

ただし、サーブレットは、Node.jsとは対照的に、マルチスレッドのプログラミング言語の上に構築されています。では、node.jsをどのように高速化できますか?

1000Kのユーザーがデータベースレコードをクエリすると仮定すると、Node.jsがサーブレットよりも遅くなることはありません。

また、サーブレットはNode.jsに比べてセキュリティが優れていませんか?

10
log N

リンゴとオレンジを混ぜているんですよね。

サーブレット(またはHttpServletから継承)を使用すると、HTTP要求パラメーターにアクセスし、既存のHTTPサーバー実装を介して(またはその上に)何かで応答できます。

言語としてJavaScriptを使用していますが、Node.jsはそれよりも低いレベルです。実際には実装 HTTPサーバーから始まります。それでも、Webアプリケーションなど、より高度な処理を行うことができます。

マルチスレッドについては、必要ありません。 Node.jsサーバーはマルチスレッディングのため高速ではなく、IOリクエストをブロックしないため高速です。そのため、実行中にキューにそれらを送り続けることができます。それらは、やらなければならない仕事があるときにのみ機能します-彼らはそれを待つことはありません-そしてそれが判明したように、それは深刻なパフォーマンスの向上を引き起こします。

データベースクエリについては、クライアントよりもデータベースモデルとAPIの制約が重要です。

セキュリティに関しては、それは実際には別のトピックであり、最終的にはとにかくライブラリーではなく、開発者の手に渡ります。

12
Yam Marcovic