4

ほとんどの人はある種のIoCフレームワークを使用しています-Guice、Spring、あなたはそれに名前を付けます。私たちの多くはアプリケーションもスケーリングする必要があるため、Terracotta、Glassfish / JBoss /insertyourfavouritehereクラスターでの生活を複雑にします。

しかし、それは本当に行く方法ですか?上記のいずれかを使用していますか?

これが、まだオープンソース化されていないフレームワークに現在実装されているいくつかのアイデアです。あなたがそれについてどう思うか、あるいは「XYの完全なリップオフです!」

  • クラスター全体のオブジェクトレプリケーション-名前を付けます。そのようなオブジェクトで(任意のノードで)何かを実行すると、レプリケートされます-さまざまな保証があります
  • 透過的なソフトロードバランシングを実行する-最も単純なシナリオ:他のノードにプロキシされたRESTfulWebサービスメソッド呼び出し
  • ビューのみのノードインジェクション:「名前付き」オブジェクトにプロキシをインジェクトし、呼び出しをノードに自動的にプロキシします

そのようなものを使いますか?現在、安定した、エンタープライズ対応の実装はありますか?

4

1 に答える 1

2

FWIW 私は非常に大規模な Web アプリケーションを扱う会社で働いていますが、この形式のオブジェクト キャッシングを使用しない傾向があります。

実際、セッションに何も保存せず、トランザクションで現在の状態で読み取る必要があるものをキャッシュしないことで、作業が楽になる傾向があります。このように、アプリケーションは非常にシンプルで、推論しやすく、水平方向のスケーリングも非常に簡単です。

これらのオブジェクト キャッシュを使用する理由は、主に永続ストアの負荷を軽減し、場合によってはレイテンシを短縮するためだと思います。私の提案は、比較的愚かな webapp から独立してこのバックエンドをスケーリングすることです。大規模なサイトのほとんどは、リードレプリカとデータ シャーディングを使用してこれを行います。http://highscalability.com/livejournal-architectureをご覧ください。かなり前に見た記憶がありますが、なかなか面白かったです。また、トラフィックの多い Web サイトで使用されているようなアーキテクチャにもうまく適合します。

于 2010-03-16T21:46:32.807 に答える