近期看到一个基于node的前后端分离方案,别人是这样做的:nodejs做前端渲染,然后通过REST接口调用后端java的业务逻辑(都是独立部署的服务器)。它这里java的业务逻辑是部署在jetty上。我想请教下各位,这种方案有什么好处吗?
我自己的理解是node和java之间采用的是长链接,而jetty在这方面相对tomcat有优势。不知道各位怎么看,大家都在什么场合会用jetty?
PHP中文网2017-04-17 17:45:16
Jetty と Tomcat は両方ともアプリケーション サーバーと呼ばれます。ただし、jetty には 2 つの開始方法があります。
1 つは埋め込み型で、自分でコードを記述して桟橋を開始します。
別の展開方法は Tomcat と同じで、war パッケージを桟橋に展開します。
組み込みデプロイメントのため、コードのデプロイメントは、各環境に Tomcat をデプロイするための運用と保守に依存する必要がありません。
簡単に言うと、方法が 1 つ増えて、開発者により多くの選択肢が与えられます。
もちろん、jetty は Tomcat よりも後に登場したため、パフォーマンスとアーキテクチャの点では Tomcat よりも相対的に優れています。
ご質問で言及されているソリューションに関しては、いくつかの新しいテクノロジー (nodejs) を使用してフロントエンドとバックエンドを完全に分離しているだけで、開発がより効率的になる可能性があります。
迷茫2017-04-17 17:45:16
あなたが話している長時間接続が WebSocket、Comet、または HTTP キープアライブのいずれであるかはわかりません。 Jetty と Tomcat はどちらも 3 つすべてをサポートしています。パフォーマンスの面では、
WebSocket と HTTP Keep-Alive は業界標準であり、統一された標準がないため、
Comet、Jetty と Tomcat の API は異なります。ただし、どちらも NIO をサポートしているため、個人的にはパフォーマンスに大きな違いはないと考えています。
この 2 つのどちらを選択するかについては、個人的な習慣 (たとえば、私は個人的に Jetty が好きです) や会社の規定などの問題である可能性があります。