リフトフレームワークの反転/彗星AJAXはどのようにスケーラブルなのですか?

StackOverflow https://stackoverflow.com/questions/2263351

質問

私は最近、Scalaのことを学んだし、約作業/学習リフトフレームワークを開始します。特長を通って行くとフレームワークを使い始める、私は逆アヤックスと彗星などのフレームワークのいくつかの素晴らしい機能を見ていました。以前の私の経験では私はスケール決して逆アヤックスと本当に悪い経験を持っていました。私はすべての開発のためのリフトフレームワークを選択した場合、これは理由になります。ここでの私の質問はどのように成熟した技術と製品であり、それはTomcat上でリフトをどのくらいスケーラブルを使用しているのですか? 1は、この目的のために優れている仕様3.0をサーブレットに比べて、サーブレット仕様3.0を待つか、リフトを使用して始める?

役に立ちましたか?

解決

リバースAJAX の彗星です。彼らは同じことのためにちょうど2人の異なる名前です。あなたの質問のルートについては...

Liftのコメットサポートの拡張性は、サーブレットコンテナに大きく依存します。あなたは本当にはネイティブで継続をサポートするコンテナを必要とするを。桟橋は、私が精通してるものですが、私は他の人が存在しているかなり確信しています。コンテナレベルでの継続支援を有することにより、あなたは、スレッドごとのクライアント、彗星のスケーラビリティの問題のほとんどが由来ところでロックを回避することができます。

スケーラビリティの他の地域では、LiftのCometActorはアクティブロングポーリングを持つ単一のクライアントの周りの一般的な抽象化です。この抽象化は、俳優であるので、既存のアクター・フレームワーク内で処理(リフト1.0.xのためのScalaのSTDLIB、または2.0で俳優を持ち上げて)することができます。これは、あまりにもスレッドのスケーリングの問題を回避し、保留中の更新が整然とにキューイングされることを確実にする。

要するに、Liftの彗星のサポートは、彗星が可能と同じくらいスケーラブルです。技術に関連した固有のオーバーヘッドはもちろんあります。あなたは、クライアントごとに少なくとも1つのソケットを犯し避けることができるようにするつもりはありませんしています。しかし、(継続対応のコンテナと一緒に)リフトは、箱から出してすぐ任意の非必須のオーバーヘッドを軽減することができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top