2012-02-29 8 views
0

イベントA、B、およびCにサブスクライブするNSBエンドポイントを導入したとします。 6ヶ月後、エンドポイントのバージョン1.1ではイベントDのハンドラが追加されますが、イベントBのハンドラは削除されます。イベントBの永続サブスクリプションレコードを削除するための合理的なプロセスは何ですか?失効した永続サブスクリプションを処理するにはどうすればよいですか?

  1. サブスクリプションテーブルの内容全体を削除し、すべてのエンドポイントを再起動してください。
  2. 私は私の加入者がダウン途中で、そのすべてのメッセージタイプに購読解除を呼び出します(したがって、途中まで上白紙の状態で始めるでしょう)、いくつかのシャットダウン・モードを持っているデルタ
  3. について知っていることに基づいて選択的に削除します

誰もこれらの戦略を実装しているのですか、いくつかの選択肢がありませんか?

答えて

0

最善の解決策は、おそらくこの中で関与運用オーバーヘッド1.オプションがかなり小さくなり、次のようになります。出版社のホストをシャットダウンし

  1. クリアがダウンしてサブスクリプションは、すべての加入者
  2. バウンスをDB発行元ホストを起動する

オプション3も可能ですが、 IMOよりもはるかに高いオーバヘッドであるすべての加入者からのコールを拒否します(さらに、未実装のコールがまだ実装されていない場合は再デプロイメントが必要です。

オプション2はちょっとハッキリですが、パブリッシャーdbとbobに対してSQL文を実行するだけで、母親の兄弟ができるので、コストが最も安いでしょう。

私はオプション1をお勧めします。

+0

これは私の結論です – jlew

関連する問題