На ваш первый вопрос о высокой доступности базы данных подписки вы можете использовать кластер для восстановления после отказа.Если БД не работает, Bus.Publish выдаст исключение, да.Рекомендуется хранить базу данных подписки отдельно от вашей прикладной базы данных, чтобы избежать ее отключения при обновлении приложения.Это не обязательно должен быть отдельный сервер БД, с отдельной БД на том же сервере БД все будет в порядке.
При перемещении серверов это обычно выполняется на уровне DNS, где в течение определенного периода времениОба будут работать, пока не прекратится общение.
На ваш третий вопрос о дистрибьюторах - не делите дистрибьютора между разными издателями или подписчиками.Рекомендуется не добавлять / удалять подписчиков при выполнении этих видов обслуживания.Это обычно немного упрощает вещи.