Как бороться с устаревшими постоянными подписками? - PullRequest
0 голосов
/ 29 февраля 2012

Допустим, я развернул конечную точку NSB, которая подписывается на события A, B и C. 6 месяцев спустя, версия 1.1 конечной точки добавляет обработчик для события D, но обработчик для события B удален.Каков разумный процесс удаления сохраненной записи подписки для события B?Я полагаю, что нет никакого автоматического способа для этого, и мой выбор будет:

  1. Удалить все содержимое таблицы подписки и перезапустить все конечные точки.
  2. Удалить выборочно на основечто я знаю о дельте
  3. Есть какой-то режим отключения, при котором мой подписчик будет звонить «Отписаться» по всем его типам сообщений в обратном направлении (и, следовательно, будет начинаться с чистого листа по пути вверх)

Кто-нибудь реализовывал какую-либо из этих стратегий, или я упускаю какую-то альтернативу?

1 Ответ

0 голосов
/ 29 февраля 2012

Лучшим решением, вероятно, был бы вариант 1. Операционные издержки, связанные с этим, были бы довольно малы:

  1. Завершить работу хоста издателя
  2. Очистить подписки дБ
  3. Отказов всех подписчиков
  4. Запуск хоста издателя

Вариант 3 также будет возможен, но он будет включать в себя вызов отписки от каждого абонента, что приводит к значительным накладным расходам IMO (плюс потребует перераспределения, если вызов отмены подписки еще не реализован, и затем отключение для запуска вызова).

Вариант 2 кажется немного хакерским, но он будет стоить дешевле, так как вы можете просто запустить SQL-запрос против издателя db и bob - брата вашей матери.

Я бы порекомендовал вариант 1.

...