springbootサービスで回路ブレーカの概念を実装するためにhystrixを使用しています。私は失敗のthreshhold数の場合、外部サービス呼び出しを絞ることが必要である方法で使用HystrixCommand注釈は次のとおりです。さて、myHystrixMethodが常駐するサービスは、異なるクライアントによって呼び出され動的hystrixコマンドを作成する方法threadPoolKey
@HystrixCommand(commandKey = "myCommandKey",
groupKey = "myGroupKey",
threadPoolKey = "myThreadPoolKey")
public String myHystrixMethod(String someParam) { ....}
。サービスを呼び出すクライアントのタイプに基づいて、特定のクライアントに指定されたバックエンドサービスを呼び出すロジックがあります。
私がしたいのは、それ自身のhystrixスレッドプールに特定のクライアントによって呼び出されたすべてのスレッド(要求)を登録することです。つまり、クライアントAからの要求は、クライアントAのhystrixスレッドプールに登録され、クライアントBのhystrixスレッドプールのクライアントBのみに登録されます。これにより、クライアントBの要求がクライアントAの障害によって抑制されなくなります。
このため、すべてのクライアントに対して個別のサービスメソッド(上に示したもの)を作成し、それに応じてhystrixスレッドプールに名前を付けます。しかし、このアプローチでは、新しいクライアントがあるときはいつでも、ソースコードを修正してサービスメソッドを追加する必要があります。
@HystrixCommandアノテーション内のオプションを、この場合のクライアントIDであるパラメータに基づいて動的に作成する方法はありますか?
私は可能ではないと思います。見てみましょう。 https://github.com/Netflix/Hystrix/issues/350 – pvpkiran
hystrixのように見えません。 hystriixのような他の回路ブレーカソリューションには、動的にそのようなプロパティを動的に作成するオプションがありますか? – Hary
他の図書館があります。しかし、私はあなたがこの機能をそこに見つけるとは思わない。見て、私たちに知らせてください。 :) – pvpkiran