Я читал о последствиях обновления NServiceBus до новой основной версии, например, с версии 6.xx до 7.xx
На сайте ParticularDocs, Руководства по обновлению говорит следующее:
Благодаря гарантиям совместимости проводов не обязательно, чтобы каждая конечная точка в решении использовала одну и ту же версию NServiceBus.Это означает, что одна конечная точка может быть обновлена, протестирована и развернута в рабочей среде перед обновлением другой.
Но если вы прочитаете о сообщениях ненавязчивого режима , это говорит о следующем:
Контракты сообщений могут быть определены с использованием простых классов или интерфейсов.Чтобы NServiceBus мог найти эти классы при сканировании сборок, они должны быть помечены интерфейсом IMessage, который по сути говорит: «это определение сообщения».Это позволяет отделить контракты сообщений от сборки NServiceBus.
Эта зависимость может вызвать проблемы, когда существуют разные сервисы, которые запускают разные версии NServiceBus.Джонатан Оливер отлично справился с этой задачей . .
Это не имеет большого значения для команд, потому что они всегда используются в границах одного сервиса, и справедливо требоватьсервис использовать ту же версию NServiceBus.Но когда дело доходит до событий, это становится большей проблемой, так как требует, чтобы все службы использовали одну и ту же версию NServiceBus, что вынуждает их обновлять NServiceBus сразу.
Первый говорит, чтоУ нас нет проблем с обновлением узлов независимо, но последний, похоже, указывает на то, что в отношении сборок сообщений нам придется поддерживать одну и ту же версию и обновлять все сразу.
Если я не понял неправильно:
Поскольку мои узлы зависят от моих сборок сообщений, при обновлении одного узла я также должен обновить их зависимости до той же основной версии, чтобы я 'Я буду вынужден обновить мои сборки сообщений тоже.Другие узлы, которые используют эти же сборки сообщений, также должны быть обновлены.Это может масштабироваться в цепочке обновлений всей моей системы.
Единственный способ избежать этого - использовать Unobstrusive Mode Messages
?
У нас есть все сообщения, реализующие IEvent
или ICommand
.Изменение на Unobstrusive Mode Messages
было бы неудобством прямо сейчас.