2016-08-15 6 views
0

I持っている2つのコマンド 1)DebitCommand(デビットクレジットカード)Hystrix依存コマンドの失敗提案

2)CreditCommandアカウントへ(クレジット)私たちのユースケースの斜視借方と貸方の組み合わせから

が1つの原子操作です2つの異なるシステムに接続されています(Rest call)。

クレジット・コモン・サーキット・ブレーカーが短絡している場合は、借方に当てはまるわけではありません。そうでなければ、返金する必要があります。実際には不要なコールが増加します。 hystrixがこれを解決する方法はありますか?

私の考え:

アプローチ1:単一のクレジットコマンドにDebitCommandとCreditCommandをマージ アプローチ2:DebitCommandではCreditCommandの回路の状態を取得し、サーキットブレーカーが開いているときにのみ許可するか、どのようにいくつかを呼び出して実行します半分開くか元に戻す。

このユースケースを経験したいずれかが、あなたはこのユースケース

をいかに解決したか助けてくださいすることができれば

答えて

0

アプローチ2照会回路状態疑似で(、電話をかけるかどうかの根拠として、 -code:if (circuit is healthy) { Place call through circuit })は、利用可能であっても賢明な方法ではありません。高度な同時/マルチスレッド環境では、if条件の評価と内部呼び出しの配置の間で回線状態が変化する可能性があります。したがって、このアプローチでは、2番目の呼び出しが成功するという保証はありません。

関連する問題