При реализации такого рода архитектуры вы должны обратить внимание на применение принципов CQRS - запросы (действительна ли эта комбинация user / pwd) не должны выполняться через шину;Команды (изменить PWD, забыл PWD) отправляются через шину, а не публикуются как события.Хотя внутренне вы, скорее всего, будете использовать события для синхронизации сторон команд и запросов, это не касается клиента.
Запросы можно выполнять с использованием простого ado.net для реплицированных-читаемых-ведомых устройств вашей БД.то, что известно как модель постоянного представления в CQRS.Если хотите, вы можете поставить перед ним несколько простых WCF.
При использовании MSMQ все сообщения доставляются через хранилище и пересылку.Это означает, что они сначала сохраняются на клиенте перед доставкой на сервер, поэтому, если сервер не работает, сообщения ожидают клиента.Для обеспечения отказоустойчивости вы хотите, чтобы ваши сообщения можно было восстановить (записать на диск) - это значение по умолчанию в NServiceBus, но не значение по умолчанию для стандартного MSMQ (не знаю о MassTransit).Для этого вам не нужна база данных.
В NServiceBus шина не установлена на отдельном компьютере, поэтому вам не нужно иметь дело с ее доступностью независимо от остальной системы.Только когда вы посмотрите на масштабирование обработки вашей команды на большее количество узлов, вы можете рассмотреть возможность использования балансировщика нагрузки на основе сообщений в NServiceBus (называемом распределителем), который для высокой доступности должен быть установлен на кластере или отказоустойчивом оборудовании.