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