問題タブ [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.
sockets - 最小限のダウンタイムでTCPリスニングソケットを引き渡す方法は?
この質問にはEventMachineのタグが付けられていますが、あらゆる言語の一般的なBSDソケットソリューションも高く評価されています。
いくつかの背景:
TCPソケットでリッスンしているアプリケーションがあります。これは、通常のSystemVスタイルのinitスクリプトで開始およびシャットダウンされます。
私の問題は、TCPソケットを処理する準備ができるまでに起動するのに時間がかかることです。それほど長くはなく、おそらく5秒だけですが、就業時間中に再起動を実行する必要がある場合は、5秒長すぎます。また、既存の接続を開いたままにして、正常に終了することも重要です。
アプリケーションを再起動する理由は、パッチやアップグレードなどです。残念ながら、私は時々、この種のことをプロダクションで行う必要があるという立場にいます。
質問:
あるプロセスから別のプロセスにTCPリスニングソケットをきちんと引き渡す方法を探しています。その結果、ダウンタイムはほんの一瞬です。新しいプロセスが新しいconnectinoのサービスを開始する間、既存の接続/ソケットを開いたままにして、古いプロセスでの処理を終了したいと思います。
BSDソケットを使用してこれを行うための実証済みの方法はありますか?(EventMachineソリューションのボーナスポイント。)
これを実装しているオープンソースライブラリは、そのまま使用することも、リファレンスとして使用することもできますか?(繰り返しになりますが、RubyおよびEventMachine以外のソリューションも高く評価されています!)
metrics - CDN を使用している高可用性アプリの測定に関する推奨事項を探しています
私はフォーチュン 500 企業で働いており、高可用性アプリケーション (つまり、5 秒のページ間ナビゲーションで 99.5% 向上するアプリ) のパフォーマンスと可用性を正確に測定するのに苦労しています。この可用性の数値を決定するために、予定されたダウンタイムと予定外のダウンタイムの両方が考慮されます。ただし、最近CDNをミックスに追加したため、メトリックが少し複雑になりました. 現在、CDN はトラフィックの約 75% を処理し、残りを独自のサーバーに送信しています。
私たちは「真のユーザー エクスペリエンス」と呼ぶものを測定しようとします (つまり、テスト スクリプトは、アプリケーションを介してクリックする一般的なユーザーをエミュレートします)。これらの監視スクリプトは、ネットワークの外部に位置します。時間。
経営陣は、可用性を測定するために最悪のシナリオを採用することを決定しました。そのため、オリジン サーバーに問題があっても、CDN がコンテンツを問題なく提供している場合でも、可用性に影響が及びます。逆も同様です。私の考えでは、「ユーザー エクスペリエンス」が成功している限り、不必要に自分を罰するべきではありません。結局のところ、CDN はパフォーマンスと可用性を向上させるためにあるのです!
他のフォーチュン 500 企業がどのように利用可能数を計算しているかについて知っている人がいるかどうか疑問に思っています。たとえば、Apple.com を見てみると、ダウンしているようには見えない CDN を使用しているストアフロントが見られます (主要な製品の発表がない限り)。これらの指標で不必要に自分自身を傷つける必要があるとは思わないでください. 私たちはこれらの数値に基づいてビジネス上の意思決定を行っています。
ただし、これらのメトリクスが経営陣に見えることを考えると、問題は非常に迅速に対処され、解決されると言えます (読んでください: 私たちは官僚主義をかなり迅速に切り捨てます)。外部要因 (CDN など) が数値に影響を与えているため、アプリケーションが稼働しているか停止しているかを示します。
考え?
(Sanoj の要請で、この質問を ServerFault に投稿しました...誰かこの質問を閉じてもらえますか ? -availability-app-that-is-using-a )
load-balancing - 高可用性を実現するにはどうすればよいですか?
私の上司は、大陸全体の壊滅的な出来事を考慮したシステムを望んでいます。彼は、米国に 2 つのサーバー、アジアに 2 つのサーバー (各大陸に 1 つのログイン サーバーと 1 つのワーカー サーバー) を持つことを望んでいます。
- 地震によって 2 つの大陸間の接続が切断された場合、両方が単独で機能する必要があります。接続が回復すると、互いに同期して通常の状態に戻ります。
- 自信がないため、外部クラウド システムは許可されません。
- システムはスケーラビリティを考慮に入れる必要があります。つまり、新しいサーバーの追加は簡単に構成できる必要があります。
- サーバーは負荷分散する必要があります。
- サーバー間の接続は非常に安全である必要があります (暗号化され、SSL 経由で送信されますが、SSL は暗号化を処理します)。
- システムは、1 つのアカウントで 1 人のユーザーのみがログインできるようにする必要があります。(大陸間の遅延に注意し、アカウントを共有する 2 人のユーザーが同時に両方のログイン サーバーに到達する可能性があります)
助けてください。もう限界です。前もって感謝します。
windows-services - Windows サービス -- 高可用性のシナリオと設計アプローチ
Windows サーバー マシンでスタンドアロンの Windows サービスを実行しているとします。可用性が高いことを確認する方法は?
1)。提案できる設計レベルのガイドラインをすべて教えてください。
2)。プライマリ/セカンダリのように高可用性を実現する方法 (現在市場で入手可能なクラスタリング ソリューションなど)
3)。フェールオーバー シナリオが発生した場合の横断的な問題への対処方法
他に考えられることがあれば、ここに追加してください..
注: 質問は Windows と Windows サービスにのみ関連しています。この規則に従うようにしてください :)
.net - アクティブなサービスを高可用性にする方法は?
私はそれを知っておりNetwork Load Balancing
、パッシブサービスを高可用性Failover Clustering
にすることができます。しかし、アクティブなアプリはどうですか?
例:私のアプリの1つが、一定の間隔で外部リソースからコンテンツを取得します。私は次のシナリオを想像しました:
- 単一のマシンで実行します。問題:このインスタンスが該当する場合、コンテンツは取得されません
- クラスタの各マシンで実行します。問題:コンテンツが複数回取得される
- クラスタの各マシンに配置しますが、実行するのはそのうちの1台だけです。各インスタンスは、タスクを実行する順番かどうかを判断するために、ある種の共通リソースをチェックする必要があります。
解決策#3について考えていたとき、私は共通のリソースは何であるべきか疑問に思いました。データベースにテーブルを作成することを考えました。このテーブルを使用して、グローバルロックを取得できます。
これが最善の解決策ですか?人々は通常どのようにこれを行いますか?
ちなみに、これはWindows Server 2008で実行されているC#.NETWCFアプリです。
biztalk - Biztalk Server 2009 - フェールオーバー クラスタリングとネットワーク負荷分散 (NLB)
2 つの Biztalk アプリケーション サーバーと 2 つの DB サーバー (アクティブ/パッシブ クラスターにある DB サーバー) を持つ Biztalk 2009 セットアップを計画しています。すべてのサーバーで Windows Server 2008 R2 が実行されています。
アプリケーションの一部として、MSMQ、FILE、および SOAP アダプターを介して受信トラフィックが発生します。また、高可用性と負荷分散の要件もあります。
2 つの異なる Biztalk ホストを作成し、FILE 受信ハンドラーを最初のホストに割り当て、MSMQ 受信ハンドラーを 2 番目のホストに割り当てるとします。ここで、2 つのホストのそれぞれに 2 つのホスト インスタンスを作成します (つまり、2 つの物理サーバーのそれぞれに 1 つ)。
Biztalk のドキュメントを確認した結果、これまでのところわかっていることは次のとおりです。
FILE (受信) については、グループ内の 2 台のサーバーのそれぞれにホスト インスタンスをセットアップするため、Biztalk によって自動的に高可用性と負荷分散が実現されます。
MSMQ (受信) には、高可用性を確保するために Biztalk ホスト クラスタリングが必要です (ただし、ホスト クラスタリングには Windows フェールオーバー クラスタリングもセットアップする必要があります)。ここでは、負荷分散オプションは明確ではありません。
SOAP (受信) では、ロード バランシングと高可用性を実現するために NLB が必要です (1 つのサーバーがダウンした場合、NLB はトラフィックを別のサーバーに転送します)。
これは私が完全に困惑しているところであり、あなたの助けが切実に必要です:
- 2 つのアプリケーション サーバーで Windows フェールオーバー クラスターと NLB を同時にセットアップすることはできますか?
- はいの場合、方法を教えてください。
- いいえの場合、MSMQ と SOAP の前提条件が相互に排他的である場合に、どのようにして MSMQ と SOAP の高可用性と負荷分散を実現しているのか説明してください。
あなたの助けは大歓迎です、
M
msmq - Biztalk-MSMQの負荷分散と高可用性を設定するにはどうすればよいですか?
私が理解していることから、MSMQの負荷分散を実現するには、NLBなどのテクノロジを使用する必要があります。
また、MSMQの高可用性を実現するには、関連するBiztalkホストをクラスター化する必要があります(したがって、基盤となるサーバー自体がクラスター内にある必要があります)。
ただし、Microsoftのドキュメントによると、NLBとフェールオーバークラスタリングテクノロジには互換性がありません。参考のためにこのリンクを参照してください:http ://support.microsoft.com/kb/235305
MSMQのロードバランシングと高可用性を実現する方法を誰かに説明してもらえますか?
前もって感謝します、
M
performance - 複数のサーバー間でコード内のリクエストを分割する
ユーザーからの投稿を保存するいくつかのフォーラムサーバー (それらが何であるかは関係ありません) があり、これらのサーバー間でリクエストを分割できるようにしたいと考えています。私は現在、地理的な場所でそれらを分割することに傾いています。データの局所性を向上させるために、ユーザーは北米、南米などの地域に分けられます。
パーティショニング プロパティをサーバーにマップする関数を実装する方法に関する設計パターンはありますか?
linux - Linux HA / クラスター: Pacemaker、Heartbeat、Corosync、wackamole の違いは何ですか?
Linux HA を理解するのを手伝ってくれませんか?
- Pacemaker、Heartbeat、Corosync は HA スタック全体の一部のように見えますが、これらはどのように組み合わされるのでしょうか?
- wackamole は Pacemaker/Heartbeat/Corosync とどう違うのですか? wackamole はピアベースであるため、Heartbeat よりも優れているという意見を見てきました。それは有効ですか?
- wackamole の最後のリリースは 2.5 年前です。それはまだ維持されていますか、それともアクティブですか?
- Web/アプリケーション/データベース サーバーの HA セットアップには何が推奨されますか?
linux - コア ダンプ後にアプリケーションを自動的に再起動する
Linux プロセスを使用していますが、コア ダンプを何度か取得しています。
簡単な質問: 強制終了されたプロセスを再起動できる方法/メソッド/プログラム/何かありますか?
ありがとう。