Пожалуйста, рассмотрите следующие вопросы в контексте нескольких публикаций от масштабируемого издателя (с использованием хранилища подписок БД) и нескольких подписок с горизонтально масштабируемыми подписчиками (с использованием дистрибьюторов), где установки и удаления происходят регулярно для начальных развертываний, обновлений и т. Д. С использованием автоматизированных MSI. .
- Что произойдет при использовании хранилища подписки БД, если БД выйдет из строя? Если для публикации сообщения требуется доступ к БД подписки, как оно будет доставлено? Он заблудится? Будет ли вызов Bus.Publish вызывать исключение?
- Предполагая, что вам не нужно развертывать простои: что делать, если вы хотите переместить базу данных подписки для конкретной публикации на другой сервер? Как вы справляетесь с таким переходом?
- Тот же вопрос касается дистрибьютора на стороне подписчика: что, если вы хотите переместить конечную точку дистрибьютора? Я могу придумать один сценарий: если у вас есть несколько подписок, использующих одну машину-дистрибьютор, вам может быть сложно переместить некоторые из них на другой сервер-дистрибьютор, чтобы снизить нагрузку.
- Как будут выглядеть сценарии установки / удаления при такой установке (как на начальном этапе, так и при непрерывных обновлениях)? Похоже, вы хотели бы иметь какие-то специальные сценарии установки / удаления для развертывания «логической публикации» и базы данных подписки, а также для «логических подписок» и распространителей. Экземпляры издателя не нуждаются в какой-либо специальной логике установки / удаления (поскольку они просто начинают публиковать сообщения, используя настроенную базу данных подписки, а затем останавливаются при их удалении). Рабочим узлам-подписчикам не потребуется ничего особенного при установке, кроме правильной конфигурации конечной точки распространителя, но потребуется логика удаления, чтобы убедиться, что они удалены из списка распространителей рабочих узлов.