問題タブ [redundancy]
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.
svn - Subversionリポジトリの冗長性を作成しますか?
冗長なSubversionリポジトリを作成するための最良の方法は何ですか?
Subversionリポジトリ(apache2とWebDAVを介してリンクされている)があり、停止した場合に別のサーバーにミラーリポジトリを作成したいのですが、続行するための最良の方法がわかりません。
コミット後のスクリプトを使用して変更を伝達できると思いますが、これが最善の方法かどうかはわかりません。誰でも入力できます。
login - Web サイトのログインとして OpenID を使用する - 冗長プロバイダー
OpenID ログイン Web サイトで冗長性をサポートするにはどうすればよいですか?
たとえば、私には 100% のアップタイムを要求するユーザーがいます (ええ、そうですが、できるだけ近づけましょう)。
それらの一部は、あまり利用できないプロバイダーを使用しています (つまり、自分の Web サイトの myphpid や、ダウンタイムが頻繁に発生するスタートアップの ID など)。これで、より信頼性の高いプロバイダーに転送できますが、冗長性も必要です。
展開できることを願っていますが、OpenID について十分に理解していないため、次のような解決策を試すことができます。
同じ資格情報 (ハッシュ/キー/など) で異なるドメインを使用して、異なるホスティング サービスにいくつかの phpmyids を設定します (理想的には、ラウンド ロビン DNS と同じ名前を使用しますが、それらが異なる場合も説明したいと思います)。ドメイン)。
これは機能しますか?つまり、資格情報を含むまったく同じ phpmyid ファイルが異なるサーバーにあるということです。システム内の各ユーザーに複数の OpenId アカウントをリンクする必要がないように、example.com/id と example2.com/id を使用して、自分の側で同じように見えることを期待できますか?
私は phpmyid の例を使用していますが、質問はより一般的です - 重要なのは資格情報ですか、それともドメイン/ip/ですか? また、これを防ぐような方法でリンクされていますか?
そのOpenIDを使用した各Webサイトでリンクを解除して再リンクすることなく、OpenIDをあるプロバイダーから別のプロバイダーに移動できる標準はありますか、またはあり得ますか?
-アダム
asp.net - ゼロ ダウンタイムで ASP.NET アプリケーションをデプロイする方法
ウェブサイトの新しいバージョンを展開するには、次のことを行います。
- 新しいコードを圧縮して、サーバーにアップロードします。
- ライブ サーバーで、IIS Web サイト ディレクトリからすべてのライブ コードを削除します。
- 新しいコードの zip ファイルを空になった IIS ディレクトリに抽出します。
このプロセスはすべてスクリプト化されており、非常に迅速に行われますが、古いファイルが削除され、新しいファイルが展開されるときに、10 ~ 20 秒のダウンタイムが発生する可能性があります。
ダウンタイム 0 秒の方法に関する提案はありますか?
java - サーブレットベースのJavaWebアプリケーションの負荷分散とフェイルオーバーの設定に関する書籍/リソース
Javaとサーブレットテクノロジ(実際にはプレゼンテーション層のWicket)を使用してWebシステムを作成していますが、顧客はシステムにかなり依存しているため、システムをほぼ常に使用できるようにする必要があります。
これにより、システムの冗長性とフェイルセーフアーキテクチャを設定する方法を説明する主題または別のリソースに焦点を当てた優れた本を探すことになりました。
現時点で私たちが持っている質問の非排他的なリスト:
- ユーザーを分散するために負荷分散を備えた複数のサーバーによって実際に提供される1つのドメイン名(http://www.google.comなど)をどのように取得しますか?そのような解決策では常に弱い点がありませんか(彼らの場合、google.com用の2つの[これ以上はあり得ない] DNSサーバー)?
- 冗長性と負荷分散のために複数のデータベースサーバーを用意することは良い考えのようです。それはどのように設定されていますか?
- Webサーバーの1つがダウンした場合、何らかのフェイルオーバーを実行して、ユーザーがまだ稼働しているサーバーを使用できるようにします。とりわけ、セッションは何らかの方法で同期する必要があります。それはどのように設定されていますか?
- ある種の同期されたトランザクションも必要ですか?
- Amazon Computer Cloudは私たちにとって良い選択肢ですか?どうやってそこに設定しますか?費用対効果の高い代替案はありますか?
- JBossやGlassfishなどのJavaEEコンテナで実行する必要がありますか?
database - IP を介した高性能のデータ冗長性が必要です
冗長性を提供する必要があるデータベースがあります。
これは Codebase ですが、典型的な SQL データベースを使用すると CPU が大量に使用され、DB をオフサイトに置くとプロセスの遅延が大きくなります。
タイム クリティカル プロセス用にオフサイトの場所でデータの冗長性を提供するための実行可能なソリューションが必要です。
c# - C# の冗長性、信頼性、およびフォールト トレランス - 例を探すには?
.net で真に堅牢なアプリケーションを作成する方法を学びたいと思っています。つまり、耐障害性があり、予期しない状況に耐えることができるアプリケーションです。この件に関する文献やガイダンスはどこにありますか? これまでのところ、私はあまり運がありません。
dns - クロスコロ フェールオーバー設計、DNS レベルのフェールオーバー?
メイン サイトに障害が発生した場合に、ユーザーが別のコロのフェイルオーバー サイトにシームレスに到達するような、Web アプリケーションのクロスコロ フェイルオーバー戦略に興味があります。
物事のアプリケーション側は、回復して途中で拾うことができるように設計されたコロとサービスの間のマスタースレーブデータベースセットアップでほとんど理解されるようです. メイン サイトからフェールオーバー サイトにトラフィックを移動するための戦略を見つけようとしています。DNS フェイルオーバーは、TTL が低い場合でも、かなりの遅延が発生するようです。
メインコロのサーバーに到達できないと仮定して、コロ間でトラフィックをすばやく移動するためにどのような戦略をお勧めしますか?
クロスコロ フェールオーバーについて他に興味深い経験や知恵の言葉があれば、ぜひ聞かせてください。
java - 無料のデータベースと Java with Spring & Hibernate Web アプリケーションを使用した冗長性のためのデータベース レプリケーション
私はこれを念頭に置いています:
各サーバーで: (それらはすべて同じように設定されています)
- MySQLやPostgreSQLなどの無料のデータベース。
- サーブレット ベースの Java アプリケーションをホストするためのTomcat 6.x
- ORM ツールとしてのHibernate 3.x
- ビジネスレイヤー用のSpring 2.5
- プレゼンテーション層用のWicket 1.3.2
サーバーの前にロード バランサーを配置し、プライマリ ロード バランサーがダウンした場合に備えて代替のロード バランサーを配置します。
Terracottaを使用して、サーバー間でセッション情報を複製します。サーバーがダウンした場合、ユーザーは、理想的には何も起こらなかったかのように、別のサーバーで作業を続行できる必要があります。「解決」する必要があるのは (実際にこれをテストしておらず、たとえば、ロード バランサとして何を使用すればよいかがわからないため)、必要なデータベース レプリケーションです。
ユーザーがアプリケーションと対話し、データベースが変更された場合、その変更を他のサーバー マシン上のデータベース サーバーに複製する必要があります。どうすればいいですか?MySQL PostgreSQL などを使用する必要がありますか (予算が限られているため、理想的には無料です)。上記の他のことは賢明に聞こえますか?
明確化: 私は何よりもまず高可用性を実現するためにクラスター化しており、サーバーを追加してそれらすべてを同時に使用できるようにして、高いスケーラビリティーを実現したいと考えています。
java - Jar ファイル間の依存関係を確認する方法
私は最近、JSF で書かれた Web システムのサポートとプログラミングを行いました。コードはややこしくて冗長です。そうです、ドキュメントは存在しません。
システムには 40 以上の jar ライブラリがあり、それらのほとんどは古いバージョンとテストのために冗長です。1 つの jar を削除するには、コードにインポートされていないことを確認する必要があるため、jar インポート パスのコードを検索し (IntelliJ IDE を使用しています)、使用されていないことを確認して削除しました。
ただし、コードをコンパイルした後、テスト中に多数の実行時エラーが発生しました。他の既存のjarで使用されているいくつかのjarを削除したことがわかりました。
問題は、jar を削除する前に、それが別の jar/java クラスで使用されていないことを確認するにはどうすればよいですか?
jar にはコンパイルされたクラスがありますが、コンパイルされたクラスには必要なライブラリのインポート パスがあります。しかし、IntelliJ でそれらを検索することはできません (jar ファイル内を検索しません)。
私が現在行っている唯一の方法は、jar を削除するたびにシステムをテストし、クラッシュできるかどうかを確認することです! テストする機能が非常に多いため、これは簡単な方法ではありません。
多数の Java ファイル/jar を送信できるツールがあり、それらの間の依存関係が表示されることを望みます。
sql-server - IISおよびMSSQLサーバーの単純なフェイルオーバー
IISとSQL2000データベースを使用する.Net1.0Webアプリを備えたクライアントがあります。共有ホスティングサービスでホストされており、トラフィックはそれほど多くありません(1日に数人の訪問者がトップになります)。もちろん、ホスティングには時折ダウンタイムがあります。クライアントから、ダウンタイムを無視できる程度に減らすために冗長システムをセットアップできるかどうか尋ねられました。
クライアントが求めているものを満たすために、このセットアップに対して行うことができる最も簡単で最も安価な改善は何ですか?
2つの異なるサービスでWebアプリとデータベースをホストし、アプリにロジックを追加して、稼働中のWebサーバーとデータベースにリクエストを渡すことを想像していましたが、データベースの同期を維持することの複雑さが心配です。
もっと良い方法はありますか?