問題タブ [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.
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 の後にコロンをエスケープするのを忘れましたが、残念ながら、私が見ている問題は解決しませんでした。
redis - Redis マスター/スレーブ レプリケーション - 単一障害点?
ダウンタイムなしで新しいバージョンの Redis にアップグレードするにはどうすればよいですか? Redis スレーブは読み取り専用であるため、マスターを停止する必要があり、DB がリロードされるのを待つ間、サイトは 45 秒以上読み取り専用になるようです。
これを回避する方法はありますか?
sql - 高可用性のためのアーキテクチャ
私はこのシナリオを持っています:
24時間年中無休で稼働するファクトリープロセスラインがあります。ダウンタイムは非常に高くつきます。すべての異なる部分を制御するソフトウェアは、データベースストレージの共有形式を使用する必要があります。これの主な理由は、工場がどの状態にあるかを知ることです。
要件:
- プラントの一部でエラーが発生すると、1km以上離れた場所で何らかのマシンがシャットダウンする必要があることをソフトウェアが検出できるようにしたいと思います。したがって、PLCにデータを保存することはできません。
- 工場環境の更新とアップグレードは頻繁に行われます
- 負荷(コンピューター用語で)は本当に低くなります。
システムは、計算/チェックが行われ、その後に工場の機械に送信される指示が続く、1日に数百の割り当てを処理します。システムはほとんどの場合退屈します。最も重要な要件は、中央コンピュータシステムが正しく、常に機能している必要があることです。
ダイナモベースのデータベース(riakまたはcassandra)を使用することを考えていました。このデータベースでは、データが複数のマシンに書き込まれ、各マシンにはデータベース全体が含まれます。
1つのシステムがダウンすると、気付かれずにダウンします。従来のSQLデータベースは、テーブルが変更され、このマスタースレーブを構成するのが難しい場合に、アップグレードするのがより面倒な場合があります。
あなたの解決策は何でしょうか?
ネットワークは冗長化されており、他のほとんどの単一障害点があります。データベースのダウンタイムは、許容できるマシンの1つだけでなく、プラント全体のダウンタイムを意味するため、データベースシステムは重要です。
- 共有状態の問題を解決する方法。
- データベースの複雑さは問題になりません。私は、最新の正しいデータを取得するための単純なKeyValueStoreのようになります。
.net - .NET 用のアプリケーション レベルの高可用性ライブラリ
.NET / C# 用のアプリケーション レベルの高可用性 (HA またはクラスター) ライブラリを探しています。
アプリケーションのクラスター化されたインスタンスを完全に制御する必要があるため、MSCS は私にとっては解決策ではありません。
助けはありますか?
java - データベースの可用性を高めるための最適なツールについてアドバイスをいただけますか?
私たちが使用するアプリケーションに対して、データベース レイヤーの可用性を高める必要があります。私の上司は ha-jdbc を推奨していますが、ドキュメントは休止状態ではまったく使用できません。代替ソリューションに関するアドバイスはありますか?
c++ - コードケイブでスレッドを注入する
「codecave」手法を使用してコードを別のプロセスに挿入する。コードを挿入して新しいスレッドを作成し (また、新しいスレッドのコードを挿入し)、そのスレッドをターゲット プロセスのメイン スレッドと並行して実行することは可能ですか?
これは dll インジェクションで管理できますが、純粋なコード インジェクションだけで可能かどうかを知りたいです。
まず第一に、さまざまな注入手法について学習することを目的としていますが、最終的には、実行を監視するためにランダム プロセスのハートビート機能を作成します (高可用性)。Windows がターゲット OS で、言語は C/C++ (必要に応じてインライン ASM を使用) です。
ありがとう。
java - ha-jdbc データソースを機能させる方法
私はこの構成を持つha-jdbc xmlを持っています:
私はjpa構成を使用してha-jdbcにアクセスしています:
Maven を実行すると、次のエラーが表示されます。
org.jibx.runtime.JiBXException: "cluster" 終了タグが必要ですが、"datasource" 開始タグが見つかりました (19 行目、11 列目)
誰かが解決策を説明できますか?
java - 前回の実行からの tomcat クラスが残る
spring、hibernate、jsf などを使用するアプリケーションを実行しています。このアプリケーションは、ha-jdbc も使用してデータベースの可用性を高めています。アプリケーションが初めてデプロイされると、アプリはスムーズに実行されますが、デプロイを解除して再度デプロイすると、Tomcat は次のエラーを返します。
次の Web アプリケーションは停止 (リロード、アンデプロイ) されましたが、以前の実行のクラスがまだメモリにロードされているため、メモリ リークが発生しています (プロファイラーを使用して確認してください)。
この問題を取り除く方法を考えています。天才?
前もって感謝します。
sql-server-2008 - HA用のミラーデータベースを使用した.NETMVCWebアプリの作成
私は最初の.NETMVCアプリケーションを作成しており、コードファーストアプローチを使用しています。最近、ミラーデータベースとウィットネス(フェールオーバークラスターと混同しないでください)を使用して高可用性のために2つのSQL Serverインストールを構成し、フェールオーバープロセスを実行する方法を学びました。Webアプリを高可用性DBにマウントして、両方を練習する絶好の機会だと思います。
さて、ミラー構成で私が学んだこと(間違っている場合は訂正してください)では、最初のDBがダウンした場合に、セカンダリDBへのフェイルオーバーを監視します...ただし、アプリケーションは、参照する接続文字列も変更する必要がありますセカンダリサーバー。
Web.config(または他の場所)に両方のアドレスを設定し、適切な接続文字列を選択するための最良のアプローチは何ですか?
php - データベース トポロジ設計の混乱
バックグラウンド
私は、共有ホスティングプロバイダーと非常によく似たセットアップのネットワークを実行しています (読み取り: 継承)。インフラストラクチャ上で実行されている 300 ~ 400 のサイトがあります。何年にもわたって、データベース トポロジは非常に断片化されており、Web サーバーからデータベースへの 1 対 1 の関係になっています。
問題
- アプリケーションは、wordpress/joomla/drupal などを実装したサードパーティの設計会社によって設計された 10 のうち 9 回です。
- データベースは、6 つのデータベース サーバーに無計画に分散されています。それらはどこにも複製されません。
- アプリケーションには、INSERT をマスターに、SELECT をスレーブに分離するための別個のデータベース ハンドルの概念がありません。
- シングル マスターの組み込みの mysql レプリケーションを使用すると、大きなボトルネックが生じます。挿入の量は、マスター データベースを非常に迅速にダウンさせます。
質問
私の質問は、将来のスケーラビリティの余地を残しながら、どうすればデータベース トポロジをできるだけフラットにすることができるでしょうか?
将来的には、「バックネット」を介して同じデータベースを複製できる地理的な場所をネットワークに追加したいと考えています。
過去にマルチマスター レプリケーションを調べたことがありますが、auto_increment 列の衝突などの問題がたくさんありました。
私はエンタープライズ ソリューションに対してオープンです。Oracle レプリケーション用の Shareplex 製品に似たもの。
解決策が何であれ、この新しい設計に対応するためにアプリケーションが変更されることを期待するのは合理的ではありません。そのため、auto_increment 列などは同じままで、クラスター全体でゲル化する必要があります。
ゴール
私の目標は、すべてのアプリケーションを指すことができる各クラスターのホスト名を内部的に負荷分散することです。私
これにより、現在持っていないフォールトトレランスも得られます。現在、ローテーションからデータベースを削除することはできません。
Cassandra や Hadoop などのアプリケーションは、私が達成したいものと驚くほど似ていますが、NoSQL はこれらのアプリケーションのオプションではありません。
ヒント/ポインター/チュートリアル/ドキュメント/製品の推奨事項は大歓迎です。ありがとうございました。