2

MSMQ上でMassTransitServiceBusを実行しています。バスを介して送信された最初のメッセージが到着していないようですが、後続のメッセージは到着しますか?

メッセージが送信される前にキューまたはバスで実行する必要のある初期化はありますか?

4

1 に答える 1

3

これは、すべてが正しくルーティングされる前にシステムがセットアップするのに必要な時間のいくつかの設定に依存します. 最初のメッセージだけが正しい場所に到達しない場合は、サブスクリプション データがまだどこにも伝播されていない可能性があります。http://readthedocs.org/docs/masstransit/en/develop/overview/subscriptions.html

最も簡単な選択肢であるマルチキャスト サブスクリプションを使用すると、エンドポイントが起動してサブスクライバーが他のすべてのエンドポイントに登録されてから数秒かかります。サービスの開始順序を制御できる場合は、多くの場合、フローの後ろから前に開始することで回避できます。

サブスクリプション サービスを使用している場合は、どこからでもデータを取得するのに数秒かかることもあります。サブスクリプション サービスを経由する必要がありますが、サブスクリプションはバスの全員に送信されます。これは SQL データベースに関連付けられており、データベースへの待ち時間がこのタイミングに影響を与える可能性があります。

最後に、静的ルーティングを使用している場合は、サブスクリプションが起動時に設定されるため、すぐに機能するはずです。

于 2012-02-17T21:44:04.463 に答える