Могут ли несколько издателей NServiceBus использовать один и тот же DBSubscriptionStorage? - PullRequest
0 голосов
/ 11 апреля 2011

На странице Publish-Subscribe API и конфигурации может показаться, что схема базы данных, используемая NServiceBus для отслеживания подписок, отслеживает только конечную точку подписчика и тип сообщения.

Я надеялся, что, возможно, смогу изменить имя таблицы, чтобы использовать одну и ту же базу данных для нескольких издателей, но эта ветка, кажется, указывает, что вы не можете .

Суть в том, что я полностью понимаю и согласен с идеей наличия единой конечной точки издателя для каждого типа события, но это неизбежно приводит к тому, что несколько издателей работают в одной и той же области действия приложения . Возможно, работа в разных сборках или процессах, но это спорный вопрос; независимо от того, это означает, что все или большинство издателей будут использовать одну и ту же транзакционную базу данных. Таким образом, возможность создания отдельной базы данных SQL для каждого отдельного издателя кажется немного нелепой; в итоге мы получили бы сотни баз данных с подпиской на одну таблицу.

Отслеживает ли DBSubscriptionStorage достаточно информации для идентификации издателя, так что все издатели могут указывать на одну и ту же базу данных? Или, если нет, есть ли какое-либо изменение конфигурации или хак, которые я мог бы использовать для достижения того же конечного результата?

Или мне действительно понадобится отдельная база данных для каждого издателя - и, соответственно, для каждого опубликованного типа сообщения?

1 Ответ

3 голосов
/ 12 апреля 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...