私が理解しているように、ReBus のコンシューマーは、2 つのモードでメッセージのデータベースをポーリングします。メッセージが存在する場合は速く、一定期間利用できない場合は遅くなります。
これを調整する方法はありますか? また、それがどのように機能するかについて詳しく説明している場所はありますか?
私が見つけた唯一のことは、「キュー ポーリング バックオフ戦略を低レイテンシ モードに構成する機能が追加されました - hagbarddenstore に感謝します」です。
ありがとう!
私が理解しているように、ReBus のコンシューマーは、2 つのモードでメッセージのデータベースをポーリングします。メッセージが存在する場合は速く、一定期間利用できない場合は遅くなります。
これを調整する方法はありますか? また、それがどのように機能するかについて詳しく説明している場所はありますか?
私が見つけた唯一のことは、「キュー ポーリング バックオフ戦略を低レイテンシ モードに構成する機能が追加されました - hagbarddenstore に感謝します」です。
ありがとう!
Rebus の新しいバージョンでは:
Configure.With(...)
.(...)
.Options(o=> o.SetBackoffTimes())
.(...)
あなたが正しく観察したように、Rebus は、非アクティブな期間があると、待ち行列システムに不要な負荷をかけないようにバックオフします。
ただし、バックオフ戦略は構成可能であるため、これを行うことができます (Rebus バージョン <= 0.84.0)
Configure.With(...)
.(...)
.Behavior(b => b. SetLowLatencyBackoffBehavior())
.(...)
「低遅延モード」に切り替えるため。
編集: @ neo112 が正しく指摘したように、Rebus の新しいバージョン (>= 0.90.0) は、この API を使用してバックオフ時間を変更します。
Configure.With(...)
.(...)
.Options(o=> o.SetBackoffTimes(...))
.(...)
興味がある場合は、が登録されている RebusConfigurer.csでDefaultBackoffStrategy
、既定のバックオフ動作に使用されるタイムスパンを確認できます。