2013-03-14 8 views
7

私たちは、電気通信に関連するアプリケーションプラットフォームを開発するためのオプションを評価しています(そして、スタンドアロンアプリケーションの一部を新しいプラットフォームに移行/統合する)。主な懸案事項の1つは、ピーク時に大量のリクエストを処理する能力です。高性能/ミッションクリティカルなアプリケーション向けのJRuby/TorqueBox

我々はTorqueBoxがあるため考慮に値する興味深いソリューションに思える感じ:スレッドの

  • 速度(次の純粋なJavaのパフォーマンスに)
  • 迅速な開発時間
  • 保守
  • のJava
  • オーバーのサポート/並行性はRubyでも
  • Railsでより速く/より簡単なフロントエンド開発
  • ...
  • RedHatのサポートされているとJBoss(スケーラビリティ、将来の発展と、必要な場合は、Javaを呼び出す機能)上で動作する
  1. 誰が開発しています/ JRubyの/ TorqueBoxと同様のアプリケーション(複数可)を展開?
  2. 先進的なボトルネックは何ですか? (JRubyを使わないで、Javaを使うべきなのはなぜですか?)
+0

:JRubyの/ Torqueboxは及びませんかなり高い負荷を処理することができます。 Celluloid.IO(並行処理用)+ TorqueBoxを使用してPoCアプリケーションを開発し、Javaリファレンスアプリケーションを使用してどのように運賃を試しているかもしれません。 JRuby PoCアプリケーションの開発を決定した場合、負荷統計情報で更新されます。 – bud

+0

セルロイド:ioとTorqueboxを組み合わせることは、少なくとも私たちの要求では過剰なものに見えました。TBのビルトインキュー機能を使用すると、問題なく動作するようになりました。 注目すべき点は、ランニングオン開発モードがjbossのメモリ制限でエラーを出したことに気付きました。プロダクションモードでアプリをデプロイするとクリアされました。 – bud

答えて

0

はいJRubyを使った成熟したJava Webサーバーは、貴重な選択です。ピーク時の高負荷処理の詳細は、実行するアプリケーションの種類、使用できるハードウェアの量などによって異なりますが、一般的には達成可能ですが、まだまだ問題があるかもしれないことに注意してください。例えばスレッドセーフではないRubyライブラリ(gem)あなたは単にどのように進行するのか理解する必要があります - あなたは 'Celluloid.IO'を使用したいので、あなたがしているように思えます:)

+0

セルロイド:私たちが本当に私たちの要件を理解し、TBに精通すれば、IOは私たちの状況にとっては残酷であるように思えました。JB/TBの組み込みキューを解決しました。 – bud

0

答えはYESですが、メモリリーク(宝石、スレッドセーフティ問題など) 。 VisualVM、Eclipse MAT、NewRelicなどのツールに精通している必要があります。

amazon EC2の一部のクライアントで、1日に60k-80kの訪問を処理するTorqueboxを使用しています(新しいc3インスタンスはJavaに最適です)。

展開も問題です。メモリ消費のために何らかのローリングリスタートをセットアップすることはできません。だから私たちがCapistranoを使って配備するたびに、JBossを完全に再起動する必要があります(大きな問題はありません)。私はベンチマークやIRCから集められたものから

カテゴリーで探す、 アントニオ

関連する問題