Что такое сервисный автобус и когда он мне нужен? - PullRequest
95 голосов
/ 28 апреля 2010

Я слышал разговоры о NServiceBus , но я не совсем понял, что это такое. Они утверждают, что являются «Самой популярной сервисной шиной с открытым исходным кодом для .net».

Итак, Что такое «служебный автобус» и когда он мне нужен?

Ответы [ 3 ]

75 голосов
/ 28 апреля 2010

Вы можете думать о служебной шине как о Ethernet SOA.

Прежде всего, он вводит язык идентификации вещей, например, IP-адрес в Ethernet. Это имя не является чем-то физическим.

Далее у вас есть что-то физическое на каждом узле, например, очередь в случае шины для поддержки полусоединенной связи или карта Ethernet в метафоре.

Помимо физического, существует «протокольная» часть связи, подобная стеку OSI для Ethernet. С шиной это клиентские библиотеки, используемые кодом приложения.

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

В частности, вы обнаружите, что NServiceBus будет достаточно легким и простым в использовании, как только вы примиритесь с использованием технологии организации очередей - на ваш выбор RabbitMQ, MSMQ, обычные таблицы SQL, Amazon SQS, очереди хранения Azure и служба Azure автобус.

12 голосов
/ 28 апреля 2010

Ознакомьтесь со статьей Википедии для Enterprise Service Bus .

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

Если вы не уверены, почему вы хотите что-то подобное, я бы посоветовал прочитать, что такое хорошая сервис-ориентированная архитектура. Книга, которая действительно открыла мне глаза и доказала разницу между наличием веб-сервисов и настоящей сервис-ориентированной архитектурой, была Сервис-ориентированная архитектура Томаса Эрла: концепции, технологии и дизайн

11 голосов
/ 28 апреля 2010

Этот термин был введен с SOA , который в некотором роде является преемником (как умное слово) EAI .

Когда тебе это нужно? Это хороший вопрос. Это очень сложно.

Эмпирическое правило может, если оно решает больше проблем, чем вызывает.

Быть серьезным, если у вас разнородная среда и вы хотите согласовать (разные) приложения (используя разные технологии) с бизнес-процессами. Тогда было бы полезно использовать BPEL (но это создает проблемы при миграции) для оркестровки и хореографии

РЕДАКТИРОВАТЬ: Что не в Википедии, это практика: ESB может, например, адаптировать, используя специальные соединители, старые терминальные приложения для использования с Corba или Java Enterprise, что подразумевается под функциональной совместимостью. Недостаток - более 100 «стандартов» в SOAP, которые не работают без огромных усилий.

Вам определенно это нужно, если вам необходимо соединить ИТ-системы в течение шести месяцев после слияния двух крупных страховых компаний.

...