#msmq #nservicebus #naming
#msmq #nservicebus #именование
Вопрос:
Кто-нибудь разработал приличное соглашение об именовании для очередей MSMQ при использовании NServiceBus, где на одном сервере много очередей, но также и на других серверах?
Система, которую я разрабатываю, будет иметь много отдельных подписчиков на множестве серверов, а на некоторых серверах будут выполняться несколько несвязанных приложений.
Было бы неплохо иметь возможность открыть консоль управления msmq и сразу узнать назначение всех очередей.
Приветствия
Ответ №1:
Я уверен, что вы найдете столько разных способов сделать это, сколько найдете разработчиков.
На самом деле у нас нет очередей, отличных от NServiceBus, поэтому нам не нужно добавлять к ним префикс «nsb_», как предложил Адам Файлс.
Нам нравится использовать разделенные точками обозначения, которые примерно имитируют пространства имен классов, например «ProjectName.QueueName».
Или для действительно больших проектов, где выполняется больше анализа границ служб в стиле Udi, мы сделаем что-то вроде «BigProjectName .ServiceName.QueueName».
У нас есть кластер NServiceBus, который управляет нашими дистрибьюторами, и именно здесь мы размещаем нашу очередь ошибок, поэтому каждая конечная точка использует что-то вроде «Ошибка @NSBCluster». Это позволяет нам контролировать систему из одного места.
Комментарии:
1. 1 для центральной очереди ошибок (и аудита), хотя она не обязательно должна находиться в кластере
2. Спасибо, Дэвид, это сочетание того, о чем мы с Хью думали. «Используйте наиболее подходящее наименование для ситуации».
Ответ №2:
Что я делаю
- Имя приложения.Ввод
- Имя приложения.Ошибка
- Имя приложения.Ввод.Аудит
Комментарии:
1. Вам когда-нибудь понадобится другой уровень в этом методе, например <ApplicationName> . <Компонент>. <Тип очереди>?
2. Нет. Причиной этого является состав или детализация моего сервиса. У меня есть только одна конечная точка на общий хост NSB.
Ответ №3:
Мы используем nsb_ $endpoint_ $function где $function = ошибка или аудит. функция $ отключена только для конечной точки. Мы также сопоставляем отображаемое имя и имя службы при установке хоста. Нашим администраторам нравится сопоставлять процесс со службой, а затем с очередью.