1

JavaWebアプリケーションの高可用性を実現するためのツールは何ですか。

4

5 に答える 5

2

使用する主なアプローチはツールではありません。これは「高品質ソフトウェア」と呼ばれます。つまり、すべてのリソース(同期を含む)を適切に処理する必要があります。

Apache Hadoopは、システムの分散とスケーリングに使用できるものです。しかし、それは巨大なアプリケーションのためです。

負荷分散も検討する必要があります。

于 2010-06-15T14:20:34.703 に答える
1

多分あなたはクラスタリングソリューションを探していますか?TerracottaのJVMクラスタリングのオープンソースバージョンがあります

于 2010-06-15T14:22:02.140 に答える
1

アプリケーションのすべての層での冗長性により、単一障害点を排除します。「X が失敗したらどうなるか」という行に沿って自問し、そのリスクを軽減する方法を見つけることができます。

于 2010-06-15T14:23:36.670 に答える
1

取り組まなければならない主な側面が少なくとも 2 つあります。

  1. 運用中
  2. アーキテクチャ、デザイン、コード

これらの要素のそれぞれが大きな問題です。たとえば、これらに特化した優れたサイトがいくつかあります (それぞれ serverfault.com と stackoverflow.com を参照してください)。

運用上の考慮事項には、ロード バランシング、ディザスタ リカバリ、可能であれば CDN、および監視を含む展開のスケーリングが含まれます。継続的な展開に関する考慮事項も重要です。

アーキテクチャ -> コードに関する考慮事項は数多くあり、重要です。ソリューションのアーキテクチャから、保守性のためのコードのレイアウト、そして達成するのが最も難しいことである正確性まで。私の最善の提案は、経験のある人を雇うことです。その失敗は、経験のある人から本などを読んでください。

また、Java の世界では、この 1 つの重要な事実に同意することが非常に重要です。それは、以前に書かれている可能性が高いということです。これは素晴らしいニュースです!非常に多くの非常に優秀な人々が数え切れないほどの時間を費やしてコード作成し、[ジャカルタ] Apache、Google Code、Codehaus、Sourceforge、およびその他の多数のオープン ソース サイトなどで無料で利用できるようにしました。質問を調査すればするほど、これらのプレーヤーが表示されるようになります。重要なスキルは、利用可能などのソフトウェアが自分に適しているかを判断することです。

人々は、選択した特定のテクノロジーに関する他の回答に貢献しており、その多くは良い提案ですが、それはすべて、解決しようとしている実際の問題に要約され、それが何であるかを知っているのはあなただけです (まあ、質問は私たちに教えてくれません)とにかく:D)。

于 2010-06-15T14:45:00.737 に答える
0

開始するには、次のものが必要です。

  1. 複数の Web サーバーで同時に実行できる Web アプリ。
  2. 障害が発生した Web サーバーを検出し、トラフィックを他のライブ インスタンスにルーティングできる負荷分散フロントエンド。この部分は Java である必要はありません。ロード バランサーと Web アプリ コンテナーの間の統合ポイントを見つける必要があります。

初期設定を行った後、データベース サーバー、負荷分散サーバー自体、DNS サーバーなどの障害の可能性がある他のポイントを見つけ、これらのレイヤーでも冗長性とフェールオーバー スイッチングを追加する必要があります。

RAID、SAN などのハードウェア ソリューションも検討する必要があります。

于 2010-06-15T14:31:35.300 に答える