Что такое servicebus и когда мне нужен тот?

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

Так; что такое "сервисная шина", и когда мне нужен тот?

98
задан Simon 27 January 2016 в 04:45
поделиться

3 ответа

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

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

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

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

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

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

75
ответ дан 24 November 2019 в 05:18
поделиться

Прочтите статью в Википедии о Enterprise Service Bus .

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

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

12
ответ дан 24 November 2019 в 05:18
поделиться

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

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

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

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

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

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

11
ответ дан 24 November 2019 в 05:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: