質問

Java Webアプリケーションの高可用性を達成するためのツールは何ですか。

役に立ちましたか?

解決

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

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

ロードバランシング 同様に調べるものです。

他のヒント

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

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

あなたが取り組む必要がある少なくとも2つの主要な側面があります:

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

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

運用上の考慮事項には、負荷分散、災害復旧、可能であればCDN、監視などの展開のスケーリングが含まれます。継続的な展開に関する考慮事項も重要です。

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

また、Javaの世界では、この1つの重要な事実に対処することが非常に重要です。それは以前に書かれている可能性があります。これは素晴らしいニュースです!非常に多くの非常に明るい人々はコードを書くために数え切れないほどの時間を費やしてきました あなたのために Jakarta] Apache、Google Code、Codehaus、SourceForge、その他多くのオープンソースサイトなどの場所で自由に利用できるようにしました。質問に研究するほど、これらのプレイヤーが登場することがわかります。重要なスキルは、どのソフトウェアがあなたにぴったりのソフトウェアを決定することです。

人々は特定の選択技術で他の答えを提供していますが、その多くは良い提案ですが、それはすべてあなたが解決しようとしている実際の問題に要約されています、そしてあなただけがそれが何であるかを知っています(まあ、質問はわかりません 我ら とにかく:d)。

開始するには、必要です:

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

最初のセットアップを進めた後、データベースサーバー、ロードバランスサーバー自体、DNSサーバーなど、他の障害の可能性のあるポイントを見つける必要があります。その後、これらのレイヤーに冗長性とフェイルオーバースイッチングを追加しようとします。

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

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