Я слышал разговоры о NServiceBus , но не совсем понял, что это такое. Они утверждают, что являются «самой популярной служебной шиной с открытым исходным кодом для .net».
Так; что такое служебная шина и когда она мне понадобится?
Я слышал разговоры о NServiceBus , но не совсем понял, что это такое. Они утверждают, что являются «самой популярной служебной шиной с открытым исходным кодом для .net».
Так; что такое служебная шина и когда она мне понадобится?
Ответы:
Вы можете думать о служебной шине как об Ethernet SOA.
Прежде всего, он вводит язык идентификации вещей, такой как IP-адрес в Ethernet. Это имя не является физическим по своей сути.
Затем у вас есть что-то физическое, задействованное на каждом узле, например, очередь в случае шины для поддержки полусвязанной связи или карта Ethernet в метафоре.
Помимо физического, существует «протокольная» часть коммуникации, такая как стек OSI для Ethernet. В случае шины это клиентские библиотеки, используемые кодом приложения.
В конечном итоге вы можете рассматривать служебную шину как обеспечивающую следующий более высокий уровень абстракции для построения распределенных систем. Вы также можете использовать его для связи клиент-сервер, чтобы обеспечить надежный односторонний обмен сообщениями, а также для отправки сервером уведомлений обратно клиенту.
В частности, вы обнаружите, что NServiceBus довольно легкий и простой в использовании, если примиритесь с его использованием технологии очередей - на ваш выбор RabbitMQ, MSMQ, обычные таблицы SQL, Amazon SQS, очереди хранилища Azure и служебную шину Azure.
Прочтите статью в Википедии о Enterprise Service Bus .
Служебная шина действует как еще один уровень абстракции в нескончаемом стремлении к реализации хорошей сервис-ориентированной архитектуры. Служебная шина может справиться с тяжелой работой, которую можно увидеть за хорошей сервис-ориентированной архитектурой, такой как обмен сообщениями, маршрутизация и координация сервисов.
Если вы не уверены, зачем вам это нужно, я бы посоветовал прочитать, что делает хорошую сервис-ориентированную архитектуру. Книга, которая действительно открыла мне глаза и доказала разницу между просто наличием веб-сервисов и истинной сервис-ориентированной архитектурой, была « Сервис-ориентированная архитектура: концепции, технологии и дизайн» Томаса Эрла.
Этот термин был введен в SOA, который в некотором смысле является преемником (как модное слово) EAI .
Когда тебе это нужно? Это хороший вопрос. Это связано с большой сложностью.
Эмпирическое правило могло бы быть выполнено, если оно решает больше проблем, чем вызывает.
Если серьезно, если у вас неоднородная среда и вы хотите согласовать (разные) приложения (использующие разные технологии) с бизнес-процессами. Тогда было бы полезно использовать BPEL (но это создает проблемы из-за миграции) для оркестровки и хореографии.
РЕДАКТИРОВАТЬ: Чего нет в Википедии, так это практики: ESB может адаптироваться с использованием специальных соединителей, старых терминальных приложений для использования с Corba или Java Enterprise, что подразумевается под совместимостью. Недостатком является наличие более 100 «стандартов» вокруг SOAP, которые не работают без огромных усилий.
Он вам обязательно понадобится, если вам нужно объединить ИТ-системы в течение шести месяцев после слияния двух крупных страховых компаний.