2009-08-31 11 views
12

私はおそらく、重くて反復的なトラフィックを得るウェブサイトを作りたいと思っています。 grailsはその仕事にかかっていますか?Grailsはどの程度スケーラビリティがありますか?

+1

重いとは何ですか?毎秒何回のピーク要求がありますか?平均何人ですか?フロントエンドサーバーの数どのスペックですか?データベースサーバーと同じです。ロードバランサ?スティッキセッション?あなたの質問は非常に不足しています。 –

答えて

18

私はlaelにも同意します。これは、Javaテクノロジに基づいて構築されているため、多数のアプリケーションサービスに容易に拡張できるように、実績のあるクラスタリングとエンタープライズツールが用意されています。

Grailsのクラウ​​ドツールも非常に良くなり、EC2のようなクラウドに簡単に導入することができます。私は最近、Cloud Foundryを使用していて、それが非常に良いと判断しました。

しかし、最初のポスターは何らかのフレームワーク/言語で間違って実行しているアプリケーションを書くことができます。私が推薦することの1つは、基礎となる永続ライブラリであるHibernateをよく理解することです。それがどのように機能するのかを理解していれば、DBレベルで愚かな間違いを避けるのに役立ちます。この側面では、p6spyのようなツールは、通常の使用中にデータベースの内容を確認するのに最適です。繰り返しクエリを見つけるのに役立ちます。

8

ウェブアプリケーションのスケーラビリティは、使用する言語/フレームワークに依存するのではなく、アプリケーションの構築方法に依存します。 C++で非常に遅いアプリケーションを構築できるのと同じように、GrailsでスケーラブルなWebアプリケーションを構築できます。 Grailsがあなたが使いたいフレームワークなら、それを使用してください。必要に応じて、遅い部分をJavaや他の高速言語でいつでも書き換えることができます。 (結局のところ、それはツイッターをスカラ座でやったことだ。)


免責事項:私は実際にGrailsを使用したことがありません。

+3

Twitterはシャラールを使用しています。 http://www.artima.com/scalazine/articles/twitter_on_scala.htmlしかし、まだJVMです。 – GmonC

+1

さて、私は、彼らがより速い言語でその一部を書き直したという事実をもっと参考にしていました。結局、実際の言語は「十分に速い」限り、問題ではありません。私はそれがJavaのものであれば、彼らにとって大きな違いをもたらしたとは思わない。 –

+0

私はこれがJVMにあると言いました。なぜなら、この特定のケースでは、結局は問題ではないからです。あなたが言ったように。この小さな説明を追加するだけであなたの投稿を編集します(将来の誤解を避けるために行ったことを正確に指摘することはまだ興味深いですが)。しかし、私は十分な評判を持っていません。 – GmonC

6

Grailsは本質的にSpring Frameworkの上にある薄い層であり、多くの企業はエンタープライズの世界で非常にスケーラブルなフレームワークであると考えています。 Spring + Hibernateは世界中の多くのJavaショップで標準になっています。

Groovyでパフォーマンスボトルネックが発生した場合は、Javaでこれらの部分をいつでも書き換えることができます。

Grailsで書かれたサイトの例については、Success Storiesをご覧ください。 Testamonialsも例を探すのに適しています。バニラJavaアプリケーションよりも少しメモリ(ヒープとパーマネント)を使用しますが、他のJavaアプリケーションと同様にチューニングできます。

ローエンドでは、PHPスタック(たとえば)で可能なホスティングオプションは3ドル/月にはなりません。つまり、GrailsアプリケーションのEhCache、MemCacheなどのための良いキャッシュソリューションがいくつかあります。それ以外にも、静的なリソースや必要なものをキャッシュするためにApacheレイヤーを設定することもできます。

1

JVMでGrailsが実行されます。簡単に言えば、どこでもJVMよりもスケーラブルで堅牢で堅牢なランタイムプラットフォームを見つけることはできません。これはGrailsがPHPやRoRに勝る大きな利点です。

4

ここに積み重なるわけではありません。あなたはすでにいくつかの素晴らしい答えを持っていますが、私は最近思い出されたことを追加したいだけです。スケーラビリティは、作成するソフトウェア(言語/フレームワークに関係なく)だけでなく、展開環境にも依存します。サイズの小さいサーバーや構成の悪いサーバーに展開された非常によく書かれたアプリケーションは、まったくスケールされません。 Grailsやその他のJavaベースのフレームワークを使用している場合は、コンテナ(Tomcat、JBossなど)のデフォルト設定が必要なものとは限りません。心に留めておくべき

ただ、何か、 デイブ

関連する問題