Что такое сервисный автобус и когда он мне нужен?
Я слышал разговоры о NServiceBus, но я действительно не понял, что это такое. Они утверждают, что являются "самой популярной служебной шиной с открытым исходным кодом для .net".
Итак; что такое "служебная шина", и когда она мне нужна?
3 ответов:
вы можете думать о служебной шине как о Ethernet SOA.
прежде всего, он вводит язык идентификации вещей, таких как IP-адрес в Ethernet. Это имя не является чем-то изначально физическим.
Далее, у вас есть что-то физическое, участвующее в каждом узле, например очередь в случае шины для поддержки полусоединенной связи или карты Ethernet в метафоре.
Помимо только физического, есть "протокол" часть связь, как стек OSI для Ethernet. С шиной это клиентские библиотеки, используемые кодом приложения.
в конечном счете, вы можете просмотреть служебную шину как обеспечивающую следующий более высокий уровень абстракции для построения распределенных систем. Вы можете использовать его также для связи клиент-сервер, чтобы дать вам прочный односторонний обмен сообщениями, а также для сервера, чтобы отправить уведомления обратно клиенту.
в частности, вы найдете NServiceBus, чтобы быть довольно легким и простота использования после того, как вы примирились с использованием технологии очередей - ваш выбор RabbitMQ, MSMQ, очередей хранилища Azure и служебной шины Azure.
Проверьте статью Википедии для Корпоративный Автобус.
служебная Шина действует как еще один уровень абстракции в бесконечном стремлении реализовать хорошую сервис-ориентированную архитектуру. Служебная шина может справиться с некоторыми тяжелыми нагрузками, наблюдаемыми за хорошей сервис-ориентированной архитектурой, такой как обмен сообщениями, Маршрутизация и координация обслуживания.
Если вы не уверены, почему вы хотите что-то подобное, я бы предложил прочитать о том, что делает a хорошая сервис-ориентированная архитектура. Книга, которая действительно открыла мне глаза и доказала разницу между просто наличием веб-сервисов и наличием истинной сервис-ориентированной архитектуры, была Томасом Эрлом сервис-ориентированная архитектура: концепции, технологии и дизайн
этот термин был введен с SOA который является в некотором роде преемником (как модное слово)EAI.
когда вам это нужно? Это хороший вопрос. Он поставляется с большой сложностью.
эмпирическое правило может быть, если оно решает больше проблем, чем вызывает.
чтобы быть серьезным, если у вас есть гетерогенная среда и вы хотите выровнять (разные) приложения (используя разные технологии) с бизнес-процессами. Тогда это может быть полезно использовать BPEL (но это вводит проблемы с помощью migraton) для согласование и хореографии
EDIT: что не в Википедии, это практика: ESB может i. g. адаптироваться с помощью специальных разъемов, старых терминальных приложений для использования с Corba или Java Enterprise, что означает совместимость. Недостатком является более чем 100 "стандартов" вокруг мыла, которые не сотрудничают без огромных усилий.
вам определенно это нужно, если вы должны соединить ИТ-системы в течение полугода после слияния 2 крупных страховых компаний.
Comments