Соглашения об именах очередей NServiceBus - PullRequest
4 голосов
/ 04 ноября 2011

Кто-нибудь разработал приличное соглашение об именах для очередей MSMQ при использовании NServiceBus, где есть много очередей как на одном сервере, так и на других серверах?

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

Было бы неплохо иметь возможность открыть консоль управления msmq и сразу узнать назначение для всех очередей.

Приветствия

Ответы [ 3 ]

3 голосов
/ 04 ноября 2011

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

У нас нет очередей, не относящихся к NServiceBus, поэтому нам не нужно добавлять префиксих "nsb_", как предложил Адам Файлс.

Нам нравится делать разделенную точками нотацию, которая примерно имитирует пространства имен классов, например "ProjectName.QueueName".

Или для действительно больших проектов, гдепродолжается анализ границ служб в стиле Udi, мы будем делать что-то вроде «BigProjectName.ServiceName.QueueName».

У нас есть кластер NServiceBus, который запускает наших дистрибьюторов, и именно здесь мы находим нашу ошибкуочередь, поэтому каждая конечная точка использует что-то вроде «Ошибка @ NSBCluster».Это позволяет нам контролировать систему из одного места.

1 голос
/ 04 ноября 2011

Мы используем функцию nsb_ $ endpoint_ $, где $ function = error или audit. Функция $ оставлена ​​только для конечной точки. Мы также сопоставляем отображаемое имя и имя службы при установке хоста. Нашим администраторам нравится сопоставлять процесс со службой, а затем с очередью.

1 голос
/ 04 ноября 2011

Что я делаю

  • ApplicationName.Input
  • ApplicationName.Error
  • ApplicationName.Input.Audit
...