[わかりやすくするために編集]
正しく理解しているかどうかわかりません。
これらの有益な投稿によると、佐賀の内部ではすべてが簡潔かつ迅速でなければなりません。
- ジョナサン・オリバーのまとめ: blog.jonathanoliver.com/…
- ウディ・ダハンのオリジナル:skillsmatter.com/skillscasts/…
- そしていくつかの以前の投稿
- lostechies.com/jimmybogard/2013/03/26/scaling-nservicebus-sagas
- docs.particular.net/nservicebus/アーキテクチャ/原則
つまり、サガにはビジネス ロジックがなく、内部に if-else 命令があってはなりません。それは単なるオーケストレーターであるべきであり、それを呼び出すことは「成功志向」であるように計画する必要があります。つまり、Saga を呼び出す前に、可能な限り多くの検証を行う必要があります。
しかし、個別のハンドラー (「独立したハンドラー」と呼んでいますか?)、つまり、サガ内にないハンドラーについてはどうでしょうか? 次のうち、正しいものはどれですか。
を。サガ外の NServiceBus メッセージ ハンドラーは常に迅速に完了し、時間のかかるアクションがある場合はそれをスレッドに渡して完了する必要がありますか?
b. または、ハンドラーを「独り占め」したほうがよいのでしょうか。そうすれば、NServiceBus はこのメッセージが高い料金で使用されていることを「認識」し、それに応じてアクションを実行できます。つまり、自動負荷分散を使用して、処理プロセスの別のインスタンスを作成します別のプロセスまたは別のマシンですか?
正しい方法は何ですか?
また、メソッドを呼び出して、回答とともにサンプル コードを提供できますかFoo.DoTimeConsumingBar()
。
ありがとうございました。