問題タブ [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 投票する
4 に答える
8221 参照

scala - Scala + Akka: マルチマシンの高可用性クラスターを開発する方法

Android、iPhone、Second Life のクライアントにサービスを提供するゲーム用のサーバー システムを Scala + Akka で開発しています。このサーバーには、複数のマシンで実行する高可用性が必要な部分があります。これらのサーバーの 1 つが (ハードウェア障害などで) 停止した場合でも、システムは稼働し続ける必要があります。私は、Cassandra の仕組みと同様に、クライアントが接続しようとするマシンのリストを持っていることを望んでいると思います。

これまで Akka で見たマルチノードの例は、高可用性 (少なくともハードウェアに関して) ではなく、スケーラビリティの考え方に重点を置いているように思えます。マルチノードの例には、常に単一障害点があるようです。たとえば、ロード バランサーがありますが、ロード バランサーを備えたマシンの 1 つを再起動する必要がある場合、システムにダウンタイムが発生します。

Akka のこのタイプのハードウェア フォールト トレランスを示す例はありますか? または、これを実現するための良い方法について何か考えはありますか?

これまでのところ、私が思いついた最善の答えは、Erlang OTP のドキュメントを調べて熟考し、Akka で利用可能なビルディング ブロックを使用してシステムを組み立てる方法を見つけようとすることです。

しかし、リソース、例、または複数のマシン間で状態を共有して、そのうちの 1 つがダウンしても実行を継続する方法に関するアイデアがあれば、それらを高く評価します。ここの車輪。複数のノード間で共有状態を自動的に同期するマルチノード STM コンテナーがあるのではないでしょうか? あるいは、これは非常に簡単に作成できるため、ドキュメントではその方法の例をわざわざ示していないのかもしれません。あるいは、私の研究と実験がまだ十分に徹底されていないのかもしれません。どんな考えやアイデアでも大歓迎です。

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

java - JavaHAフレームワーク

冗長性のある小さなプロキシアプリケーションを作成しています。たとえば、プライマリプロキシは1つのサーバーで実行され、冗長プロキシは別のサーバーで実行されます。この冗長性を実装するために使用できるシンプルな高可用性フレームワークはありますか?たとえば、このHAフレームワークは、インスタンス間でpingを送信し、最初のインスタンスがダウンしたときに、他のインスタンスで何らかの例外または通知を発生させます。

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

session-state - AppFabricをasp.netのセッション状態サーバーとして使用すると、高可用性が実現しますか?

私は4サーバーのasp.netファームを持っています。AppFabricをセッション状態サーバーとして使用したいのですが、AppFabricが希望どおりに機能するかどうかわかりません。いくつかの質問...

1:一部のノードがクラッシュした場合、セッションデータのいずれかが失われていますか?

2:障害が発生した場合に備えて、各サーバーにセッションデータのコピーがありますか?

ドキュメントには、AppFabricの「高可用性」機能のためにWindows Server 2008EnterpriseEdition以降を実行する必要があると記載されています。Windows Server2008Standardを実行しています。

3:それは、一部のノードに障害が発生した場合にセッションデータを安全に保つためにエンタープライズエディションが必要であることを意味しますか、それともAppFabricは障害が発生した場合にすべてのマシンにセッションデータを自動的にコピーし続けますか?

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

rabbitmq - rabbitmq HA クラスター

HA を備えた 2 つ (またはそれ以上) のノード クラスターとして RabbitMQ をセットアップしたいと考えています。

ユース ケース: クライアント プロデューサー アプリ (C#.NET) は、クラスターに 2 つのノードがあり、クラスターに発行することを認識しています。さまざまなコンシューマー アプリ (C#.NET も含む) がクラスターに接続し、プロデューサーによって生成されたすべてのメッセージを取得します。少なくとも 1 つのノードが稼働している限り、プロデューサーとコンシューマーはすべてエラーなしで動作し続けます。ノード A と B が実行中で、B がしばらく停止してから再起動し、しばらくして A が停止した場合、常に少なくとも 1 つのノードが稼働しているため、クライアントはすべてエラーを受け取ることなく機能し続けます。

箱から出してこのように動作させることはできますか?

Windows/.NET アプリケーション環境により適切な (商用可) 他の MQ はありますか?

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

sql - SQL Server2008R2を使用した信頼できないドメイン環境でのミラーリングの設定

原則のみでミラーリングを設定し、証明書を使用して信頼できないドメイン環境でミラーリングしました。手動フェイルオーバーを実行して、ミラーリングセッションのテストに成功しました。しかし、ミラーサーバーで多くのログイン失敗が発生しているのを目にします

ユーザー「NTAUTHORITY\LOCALSERVICE」のログインに失敗しました。理由:明示的に指定されたデータベースを開くことができませんでした。[クライアント: ]

統合セキュリティとの接続の確立中に、SSPIハンドシェイクがエラーコード0x8009030c、状態14で失敗しました。接続が閉じられました。理由:AcceptSecurityContextが失敗しました。Windowsのエラーコードは失敗の原因を示しています。

ログインに失敗しました。ログインは信頼されていないドメインからのものであり、Windows認証では使用できません。

ミラーリングにWindows認証を使用していません。誰かがこれらのエラーがエラーログに表示されないようにする方法を提案できますか?また、プリンシパルサーバーがまだWindows認証を使用しようとしているのはなぜですか?

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

jvm - JVM障害-フェイルオーバー

J2EEアプリの高可用性とスケーラビリティについて読みました。私が見つけられなかったのは、JVMの障害を軽減するために採用できるHA(レジリエンス)のパターンです。

例を挙げましょう。

サービスがビジネスロジックの実行、DBへの書き込みまたはDBからの読み取りなどを行っており、JVMがクラッシュしています。理由は、電源コードを引っ張ってJavaプロセスなどを強制終了することなどです。

このような予期しない被害を受けたトランザクションのフェイルオーバーをどのように行うのでしょうか。

あなたの経験とアプローチについての洞察を私に与えてくれてありがとう。

よろしくSandeep

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

java - Javaアプリのゼロダウンタイムデプロイメント

Javaアプリのダウンタイムをゼロに展開するための非常に軽量なソリューションを構築しようとしています。簡単にするために、2つのサーバーがあると考えてみましょう。私の解決策は以下を使用することです:

  1. 「フロント」(ロードバランサー(ソフトウェア))については、ここでHAProxyについて考えています。

  2. 「背面」には、2台のサーバーがあり、どちらもアプリケーションがデプロイされたTomcatを実行しています。

新しいリリースを展開しようとしているとき

  1. HAProxyを使用してサーバーの1つを無効にするため、使用できるサーバーは1つだけです(古いリリースを実行しているサーバーAと呼びます)。

  2. 新しいリリースを他のサーバー(サーバーBと呼びましょう)にデプロイし、本番ユニットテストを実行し(テストがある場合は:-)、サーバーBをHAProxyで有効にし、同時にサーバーAを無効にします。

  3. これで、アクティブなサーバーは1つだけになります(サーバーB、新しいリリース)。サーバーBに新しいリリースをデプロイし、再度有効にします。

改善する方法についてアドバイスはありますか?どのように自動化しますか?

既製のソリューションはありますか、それとも独自のカスタムスクリプトを作成する必要がありますか?

ありがとう!

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

postgresql - postgres 9レプリケーションを使用してバックアップのダウンタイムを削減することは可能ですか?

重要なデータベースのメンテナンスダウンタイムを削減するための戦略を調査しています。DBにはバイオインフォマティクスデータが含まれており、世界中のさまざまなタイムゾーンのユーザーが週7日アクセスします(したがって、オフピーク時間は制限されています)。データベースには数千万の行が含まれており、急速に成長しています。

pg9へのアップグレードを計画しているので、マスターが影響を受けないように、スレーブでバックアップを実行できるかどうかを確認したいと思います。バックアップの進行中にスレーブがログで大幅に遅れることを非常に心配する必要があるかどうか疑問に思っていますか?

0 投票する
3 に答える
1350 参照

glassfish - フェールオーバー プロトコルの使用時に、genericra を使用して activemq と glassfish を統合する際の問題

グラスフィッシュ 2.1 で提供されるジェネリック リソース アダプターを使用して、グラスフィッシュで activemq を使用しようとしています。http://activemq.apache.org/sjsas-with-genericjmsra.htmlなど、役立つ情報が記載されたページをいくつか見つけました。

私は実際に成功し、JMS プロバイダーとして ActiveMQ を使用するように MDB を取得することができましたが、より複雑な構成を行おうとしているときに問題が発生しています。クライアントがフェイルオーバーのブローカーURLを使用する必要があるマスター/スレーブ構成をセットアップしたい:(tcp://broker1:61616,tcp://broker2:61616)。これを行うために、asadmin を呼び出すときに次のプロパティを設定しますcreate-resource-adapter-config(「=」と「:」をエスケープする必要があります)。

ただし、アプリケーションの起動時に StringIndexOutOfBoundsException が発生しています。これは正常に機能するため、2 つの URL の間のコンマが原因であると思われます。

誰かが以前にこの問題に対処したことがあるかどうか疑問に思っています。また、汎用リソース アダプターを使用するよりも、glassfish と統合するためのより良い方法があるかどうかも疑問に思っています。

編集: 2 番目の tcp の後にコロンをエスケープするのを忘れましたが、残念ながら、私が見ている問題は解決しませんでした。

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

redis - Redis マスター/スレーブ レプリケーション - 単一障害点?

ダウンタイムなしで新しいバージョンの Redis にアップグレードするにはどうすればよいですか? Redis スレーブは読み取り専用であるため、マスターを停止する必要があり、DB がリロードされるのを待つ間、サイトは 45 秒以上読み取り専用になるようです。

これを回避する方法はありますか?