問題タブ [reliability]

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 投票する
3 に答える
2995 参照

php - memcached にプール内のすべてのサーバーへの書き込みを強制する

特定のキーがプール内のすべての memcached サーバーに確実に配布されるようにする方法について少し考えました。

私の現在のテストされていない解決策は、次のような memcached の別のインスタンスを作成することです。

信頼性のために特定のキーをすべてのサーバーに保存する必要がある場合、この場合に行うべき常識は何ですか?

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

c# - スケジュールされたタスクまたはサービスの耐障害性と信頼性のベスト プラクティス

私は、Windows サービスまたはスケジュールされたタスクとして実行される多くのアプリケーションに取り組んできました。

今、私はこれらのアプリケーションがフォールト トレラントで信頼できるものであることを確認したいと考えています。例えば; 私は毎時間実行するサービスを持っています。動作中または実行中にサービスがクラッシュした場合、データの損失を避けるために、同じ期間にアプリケーションを再度実行する必要があります (これには、データ処理のトランザクションを含むいくつかの事柄が関係しています)。さらに、プログラムがエラーを詳細に報告するようにします。私の目標は、データの損失を回避し、プログラムの実行に遅れをとらないようにすることです。

ユーザーがプロジェクトにインポートできるクラス ライブラリを作成しました。ライブラリは、プログラムの実行中のインスタンスの情報を保持することになっています。プログラムは、実行間隔、実行ステータスなどの情報を読み書きします。このデータはデータベースに保存されます。

スケジュールされたタスク/ Windows サービスを耐障害性と信頼性を高めるためのベスト プラクティスがあるかどうか、私は興味がありました。

編集:異なるサーバー上にある独立したタスクまたはサービスについて話しています。私の目標は、サービスが実行され続け、障害があれば報告し、それらから回復できるようにすることです。

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

sockets - ネットワーク経由で大きなファイルを継続的に送信する

非常に大きなファイル(数Tb)を複数の宛先に同時に送信し続ける(つまり、新しいデータが利用可能になると送信される)ソフトウェアを作成する必要があります。一部の宛先にはソースへの専用ファイバー接続がありますが、そうでないものもあります。

いくつかの疑問が生じます:

  • このタスクにはTCPソケットを使用する予定です。ネットワークの停止と接続の切断を処理するために、どのフェイルオーバー手順をお勧めしますか?
  • アップロードが完了するとどうなりますか:サーバーはソケットを閉じる必要がありますか?もしそうなら、別のデーモンに別のポートでファイルチェックサムを提供させるのは良い設計上の決定ですか?
  • 破損したファイルを再度ダウンロードする以外に、それらを処理する方法をお勧めしますか?おそらく、それらを10Mbのチャンクに分割し、各チャンクのチェックサムを個別に計算できますか?

ありがとう。

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

c++ - C++ の信頼できる/安全な整数ビット指向の操作に enum を使用していますか?

次の (簡略化された) コードを考えてみましょう。

これは信頼性が高く、安全で、適切な方法ですか? または、列挙型の代わりに const int を使用する以外に、やりたいことを達成するためのより良い方法はありますか? 私は本当に列挙型を好みますが、コードの信頼性は読みやすさよりも重要です。

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

wcf - 信頼できるセッションのためにカスタム WCF ヘッダーをプログラムでエンドポイントに追加する

私は WCF ルーターを構築しており、クライアントは Reliable Sessions を使用しています。このシナリオでは、クライアントがチャネルを開くと、メッセージが送信されます (信頼できるセッションを確立しますか?)。その内容は次のとおりです。

ここでの問題は、メッセージをルーティングするサービスを検索するために使用できる情報がヘッダーに含まれていないことです。Busatmante のルーター サンプル コードでは、エンドポイントにヘッダーを追加することでこれを回避しています。

信頼できるセッションが開かれると、メッセージにこのカスタム ヘッダーが含まれます。

これは素晴らしい; ただし、クライアントをプログラムで構成する必要があります。ChannelFactory エンドポイントには、カスタム ヘッダーを手動で追加できる Header オブジェクトがあると考えました。残念ながらそうではありません。そのため、検索を行ったところ、IClientMessageInspector を実装してヘッダーを追加し、それを動作としてエンドポイントに追加することで、WCF を拡張するためのいくつかの推奨事項が見つかりました。

そのため、クライアントがサービス呼び出しを行うと、メッセージにはカスタム ヘッダーが含まれますが、信頼できるセッションを確立するメッセージには含まれません。

私の質問は次のとおりです。信頼できるセッション メッセージにカスタム ヘッダーが含まれるように、カスタム ヘッダーをエンドポイントにプログラムで追加するにはどうすればよいですか?

どうもありがとう

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

transactions - Erlang/OTP メッセージは信頼できますか? メッセージは複製できますか?

長いバージョン:

私は erlang を初めて使用し、スケーラブルなアーキテクチャに使用することを検討しています。私は、プラットフォームの信頼性とフォールト トレランスを売り込んでいる多くの支持者を見つけました。

ただし、メッセージが一時メモリにキューイングされるこのシステムでフォールト トレランスがどのように達成されるかを正確に理解するのに苦労しています。スーパーバイザーの階層を調整して、死亡したプロセスを再起動できることは理解していますが、進行中の作業での再起動の意味についての議論を見つけることができませんでした。進行中のメッセージと、瀕死のノードで失われた部分的に完了した作業のアーティファクトはどうなりますか?

すべてのプロデューサは、コンシューマ プロセスが終了したときに確認応答されなかったメッセージを自動的に再送信しますか? そうでない場合、これはどのように耐障害性があると見なすことができますか? もしそうなら、処理されたが完全に承認されていないメッセージが再送信され、不適切に再処理されるのを防ぐものは何ですか?

(これらの懸念は erlang に固有のものではないことは認識しています。同様の懸念は、どの分散処理システムでも発生します。しかし、erlang 愛好家は、このプラットフォームによってこれがすべて「簡単」になると主張しているようです..?)

メッセージが再送信されると仮定すると、複雑なメッセージング チェーンのダウンストリームへの影響が障害後に非常に混乱するシナリオが容易に想像できます。ある種の重い分散トランザクション システムがなければ、すべてのプロセスで重複に対処せずに一貫性と正確性を維持する方法がわかりません。トランザクションが複数回実行されるのを防ぐために、アプリケーション コードは常に制約を適用する必要がありますか?

短縮版:

分散された erlang プロセスは重複メッセージの影響を受けますか? もしそうなら、重複保護 (つまり、冪等性) はアプリケーションの責任ですか、それとも erlang/OTP は何らかの形でこれを助けてくれますか?

0 投票する
6 に答える
38532 参照

facebook-graph-api - Facebook Graph API - URL の ID を取得しますか?

これは、 Graph APIから期待される非常に明白で基本的なことのように思えますが、私はそれで深刻な問題を抱えています。私がやりたいことは、特定の URL の ID を取得することだけです。これには次の方法があります。

そして、それはうまく機能します。しかし、別の URL を試してみると、たとえば私のブログでは、

すべての例のように、数値 ID は返されません。代わりに、これ:

その「id」を使用しようとすると、jack が表示されます (おそらく、クエリ文字列が解析できないように見えるため)。

それで、これはどうですか?Graph API は選択的に信頼できるだけですか、それとも何か誤解していますか? Facebook でも人気があることがわかっているURL で試してみましたが、さまざまな結果が得られました。

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

javascript - unload イベントを使用して ajax リクエストを確実に起動できますか?

ユーザー編集セッションを監視する方法が必要です。私が検討しているソリューションの 1 つは、unloadイベントを使用して ajax リクエストを送信し、編集セッションの終了をサーバーに通知することです。(参照:編集の競合を防止するためのユーザー セッションの監視)

イベントに関する私の (かなり限定的な) 読み取りは、unloadこのハンドラーにアタッチされたコードをすばやく実行する必要があることを示しており、通常、メモリ リークを防ぐためにオブジェクトをクリアするために使用されます。

私の質問は、これはこの目的のために十分に確実に機能しますか?

PS。async: falseオプションについては承知しました。

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

nosql - 信頼性: マスター/スレーブ パターンは運命づけられていますか?

脚光を浴びているnoSQLデータベースの多くは、マスター/スレーブパターンを使用して「可用性」を提供していますが、それが行うことは(少なくとも私の観点からは)、チェーンにいつでも壊れる弱いリンクを作成することです. - マスターがダウンし、スレーブが機能を停止します。

大量のデータを処理し、読み取り/書き込みを均等にするのに最適な方法ですが、可用性の観点から見れば? それほどでもない...

一部のnoSQLから、スレーブを簡単にマスターに変更できることは理解していますが、これを行うと、ほとんどのアプリケーションで処理するのが頭痛の種になります。右?

では、皆さんはこの種のことをどのように処理していますか? マスター/スレーブデータベースは実際にどのように機能しますか?

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

database - ディスクエラーが存在する場合、最新のデータベースはどの程度信頼できますか?

InterBaseには、ディスク書き込みによってデータベースが常に一貫した状態のままになるアーキテクチャがありました。すべてのソフトウェアアーキテクトが知っておくべき97のこと、p87

このプロパティは2010年にようやく一般的になりましたか?

ディスクエラーが存在する場合のデータベースの安定性/信頼性に関する調査はありますか?