2016-04-07 5 views
0

請求請求書システムに取り組んでいます。リクエストの処理の一環として、キューにメッセージを配置して非同期呼び出しを行う必要があります。私たちは20TPSで働き、12秒のトランザクション全体に対してSLAを持っています。ときどき、MQサーバが非常に遅くなっても、がまだ動作している場合は、というメッセージがキューに書き込まれるだけです。このシナリオを処理し、キューにメッセージを書き込むための定義済みの制限を超えた場合に例外をスローするシステムが必要です。キューにメッセージを書き込む際に遅延が発生した場合の書き込みタイムアウトの実装を検討しています

簡単に言えば、キュ​​ーにメッセージを書き込むのに遅延があるときに書き込みタイムアウトを実装したいとします。どんな助けもありがとうございます。

私たちは、応答を受信するためのタイムアウトに言及していますが、キューにメッセージを書き込んでいる間にタイムアウトに言及する修正プログラムを見つけることができません。 宛先の再確認に関する提案があります。しかし、私たちの場合、宛先は操作可能であり、応答中はシステムが遅くなることはすでにわかっています。

+0

非常に遅くなっている_MQサーバ_はどうですか? – cschneid

+2

動作可能な唯一の方法は、PUT操作が一定の経過時間を超えた場合に、同期点の下にPUTを発行するか、MQ BACKOUTを発行することです。 第2の選択肢は、消費者にメッセージのタイムスタンプを検査させ、失効したものを拒絶することである。また、プロデューサーがCOA CODのPos/Negアクション通知などについてのフィードバックを得るために、MQレポートを使用することを検討してください。 – Stavr00

答えて

0

このような質問を読むと、まず笑い、頭を振る。人々は、そこにインフラストラクチャの知識が不足している、ネットワークまたはソフトウェアが実行されているハードウェアを理解していない。

私はMQ上で実行されている多くの異なるサーバーを持っています。たとえば、16GBのRAMを搭載したCore i7で動作するLinuxの場合、1Gbpsネットワーク上で1日に180メッセージ(10KB)を1秒間に送信でき、CPUの使用率は15%を超えることはほとんどありません。

あなたのネットワークはどのくらいの速さですか? TCPを介して大量のデータを定期的にプッシュするアプリケーションがありますか? (MQの外)キュー・マネージャーが実行されているサーバーで実行している他のソフトウェアは何ですか?どのプロセスがすべてのCPUを消費しているかを示すために、サーバー上にプロセス監視ツールがありますか? (そうでなければ、あなたはなぜMQを責めるのですか?)

関連する問題