問題タブ [high-availability]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
471 参照

scalability - クラウド コンピューティング: サーバーを自動的にスケールアップ/スケールダウンする方法を学ぶ

負荷に応じて施設をスケールアップおよびスケールダウンできるという点で、クラウド コンピューティングの力には本当に感心しています。

どうすればパラダイムをシフトし、その方法でアプリケーションを作成することを学ぶことができますか? 一度書いて忘れる(将来の負荷に関係なく)のが最善の解決策です。

その分野で自分のスキルをどのように練習できますか? 別の VM をプライベート クラウドに (コマンド ライン経由で) 追加できる場合、仮想化環境をセットアップして、スマート アルゴリズムを使用して、一定期間の負荷を予測しますか?

理想的には、実際のクラウド コンピューティング サービスを購入せずに、ハードウェアだけで実践したいと考えています。

ここで実践したいのは、現在のワーカーがキュー内のジョブが多すぎる場合のアプリ/Web ロールおよび/またはメッセージ キュー システムのスケーリングだけです。したがって、データベースのスケーリングは、トピックが大きすぎるため、質問の目標から除外しましょう。

0 投票する
2 に答える
1808 参照

asp.net-mvc - 高可用性 ASP.NET MVC

高可用性を目的として ASP.NET MVC アプリケーションを構築する場合、使用可能な状態サーバーがない場合、SQL Server でセッション状態を維持することは良い方法ですか?

0 投票する
1 に答える
654 参照

nginx - nginx とクラウド環境による HA

現在、nginx とその背後にある雑種として使用されているクラウド環境にノードがあります。

nginx の設定は次のようになります。

私は次のことを達成したい:

  1. 別のノードを追加
  2. nginx は、この新しいノードを停止したり、構成を変更したり (新しいノードの雑種を手動で追加したり)、再起動したりせずに、この新しいノードについて自動的に認識しなければなりません。

クラウド内のノードを自己認識できるように、ロード バランサー (nginx) を動作させるにはどうすればよいですか?

0 投票する
1 に答える
107 参照

java - HTTP サーバー用の生存テスト ライブラリが必要です

EC2 ベースのクラスター用の監視サービスを作成しています。そのタスクは [X(ms) ごとに HTTP/S 経由でイベント サーバーに接続し、それらが有効であることを確認し、休止する] です。

Connect テスト自体を実行し、成功または失敗を報告できるツールキットが必要です。Apache HTTPClientを使用してこれを実行しようとしましたが、発生しなかった失敗について誤検知が多すぎます。また、最初は非常に有望に見えた JMeter も調べましたが、サードパーティの jar ファイルが 25 個まで含まれる 15 MB のファイルをダウンロードすると、やり過ぎのように感じ始めました。

要件は単純です。テスト対象のノードが HTTP GET 要求で定義された時間枠内に正しく応答することを確認してください。

このサービスを可能にするライブラリを提案できますか? うーん...つまり、壊れたノードが検査されるまで処理が停止することを意味するため、誤検知率を最小限に抑えることが重要です... (本当にノーノー:)

ありがとう、マキシム。

0 投票する
4 に答える
281 参照

cloud - アプリレベルのクラスタリングにはどのようなテクノロジーがありますか?

最適化した後でも1台のサーバーを圧倒することが保証されているアプリケーションがあるとしましょう。状態を維持しながら、Webアプリケーションを複数のサーバーに分割できるようにするテクノロジーはありますか?

たとえば、複数のプレーヤーがいるオンラインゲームを考えてみましょう。通常、World of Warクラフトには複数のサーバーがあり、それぞれに独自のゲーム状態があります。私が探しているのは、このゲームの状態を複数のサーバー間で共有できるようにするものです。

編集:これはWebアプリケーション用であるため、プラットフォームは実際には重要ではありません。したがって、バックエンドはそれほど重要ではありません。ただし、RailsとJavaは可能性があります。

また、WoWはほんの一例であり、私はそのようなテクノロジーに興味があります。大規模なゲームはそれに適したアプリケーションになります。

0 投票する
5 に答える
439 参照

java - JavaWebアプリケーションの高可用性の実現

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

0 投票する
2 に答える
3821 参照

computer-science - 分散ネットワークでのシステム障害の確率の計算

分散ファイルシステムでのファイルの可用性の数学的モデルを構築しようとしています。この質問をMathOverflowに投稿しましたが、これはCS質問として分類される可能性もあるので、ここでも試してみます。

システムは次のように機能します。ノードは、r * bリモートノードにファイル(イレイジャーコードを使用してエンコード)を格納します。ここで、rはレプリケーション係数、bは整数定数です。イレイジャーコーディングされたファイルには、少なくともb個のリモートノードが使用可能であり、ファイルの一部を返す場合にファイルを復元できるという特性があります。

これに対する最も簡単なアプローチは、すべてのリモートノードが互いに独立しており、同じ可用性pを持っていると想定することです。これらの仮定では、ファイルの可用性は二項分布に従います。二項分布

残念ながら、このペーパーで示されているように、これら2つの仮定は、無視できないエラーを引き起こす可能性があります: http ://deim.urv.cat/~lluis.pamies/uploads/Main/icpp09-paper.pdf 。

すべてのノードが同じ可用性を持っているという仮定を克服する1つの方法は、利用可能な/利用できないノードの可能な各組み合わせの確率を計算し、これらすべての結果の合計を取得することです(これは、上記の論文で示唆されているようなものです。私が今説明したものよりも正式に)。このアプローチは、深さr * bの二分木として見ることができ、各リーブは、使用可能なノードと使用できないノードの1つの可能な組み合わせです。ファイルの可用性は、>=bの使用可能なノードで休暇に到達する確率と同じです。このアプローチはより正確ですが、計算コストはOrdo​​です。また、ノードの独立性の仮定は扱いません。

二項分布近似よりも誤差が少なく、計算コストが優れている、優れた近似のアイデアはありますか?

各ノードのavailability-dataは、で構成されるタプルのセットであると想定できます(measurement-date, node measuring, node being measured, succes/failure-bit)。このデータを使用して、たとえば、ノード間の可用性と可用性の分散の相関関係を計算できます。

0 投票する
1 に答える
6046 参照

nosql - redis:フェイルオーバーの処理?

Redis は、組み込みのレプリケーションと驚異的な速度を備えた優れた製品のようです。試してみると、2010 年の memcached の置き換えのように感じられます。

ただし、通常 memcached を使用する場合は、プール内のサーバー間でデータを均等に分散するために一貫したハッシュが使用されます。プール内のサーバーの 1 つがダウンしてアクセスできなくなった場合、それは透過的に処理され、失われたキーのみが再作成され、プール内の残りの使用可能なサーバーに均等に分散されます。

一方、Redis には組み込みのシャーディングもありますが、自動レプリケーションと呼ばれる別の非常に興味深い機能もあります。そのおかげで、たわごとがファンに当たった場合に使用するスレーブサーバーを利用しながら、データの可用性を大幅に高めることができました.

ただし、 redis サーバーのステータスをスレーブとして変更して自動的に新しいマスターにするか、Redis でフェールオーバーを自動的に処理する他の方法で処理する良い解決策をまだ見つけていません。

これはどのように行うことができますか?これに対する適切なアプローチは何でしょうか?

0 投票する
1 に答える
1010 参照

c# - .netアクティブパッシブクラスターアルゴリズム

私はいくつかのWindowsサーバーを持っています。同じWindowsサービス(.NETで記述)のコピーを各サーバーで実行して、一度に1つだけが「アクティブ」になり、他のすべてがパッシブになるようにします。アクティブなWindowsサービスが停止した場合、非常に短時間後に、残りのパッシブなWindowsサービスの1つだけがアクティブになります。

これを達成するための簡単な方法のアイデアはありますか?

0 投票する
1 に答える
2302 参照

performance - Corosync、ZeroMQ、Spread の CPG は、メッセージングに関してどのように比較されますか?

私は興味を持っている:

  • パフォーマンス
    • レイテンシー
    • スループット
    • リソース使用量 (CPU、メモリなど)
  • 高可用性
    • 単一障害点なし
  • 特徴
    • 輸送オプション
    • ルーティング オプション
  • 安定
  • コミュニティ
    • 活発な開発
    • 広く使われています
    • 便利なメーリング リスト、フォーラム、IRC チャネル、...
  • 現在のコードベースとの統合の容易さ
  • 多分落とし穴
  • あなたが私が省略したと思う他のもの

それらについて読んだことがありますが、適切な比較が見つかりませんでした。特に、それらを比較するパフォーマンス ベンチマークに興味があります。(たぶん、自分でやるべきです!そうでないことを願っています。)