Я ищу решение для интеграции данных в режиме реального времени между несколькими локальными базами данных. Нет большого преобразования данных. Я оцениваю различные доступные ESB. Я думаю, что интеграция данных с использованием служебной шины Azure позволяет быстро разработать решение. Целесообразно ли использовать служебную шину Azure для интеграции всех локальных баз данных?
Biztalk и служебная шина Azure
Ответы (3)
Если у вас есть все ваши приложения «на месте», вы создаете дополнительный риск, перемещая свой уровень интеграции в облако (внезапно ваше подключение к Интернету может вывести из строя ваш уровень интеграции), но хорошая новость заключается в том, что вы можете использовать служебную шину для Windows Server. , который вы запускаете локально (даже с пакетом Windows Azure!) Та же модель программирования, аналогичные функции обмена сообщениями, так что это может быть хорошим вариантом.
По сравнению с BizTalk... Служебная шина имеет небольшой вес и предназначена только для обмена сообщениями. BizTalk предоставляет гораздо более богатые возможности (преобразования, конвейеры, BAM, бизнес-правила, адаптеры).
Удачи
Если в интеграции нет чрезвычайной сложности, BizTalk, вероятно, не подходит для этой работы. С другой стороны, отправка данных в облако только для того, чтобы преобразовать их обратно в другую базу данных (в той же локальной сети?), также не является правильным подходом — это приведет к задержке и стоимости трафика.
(Почти) интеграция баз данных в реальном времени звучит как работа для чего-то вроде:
- Службы интеграции SQL Server (SSIS)
- Если БД является Sql-Server и схемы аналогичны, Репликация Sql-сервера
- И аналогичные технологии существуют для других технологий RDMBS, например. Потоки Oracle
Если вы действительно хотите создать служебную шину, либо создайте локальную шину на основе AMQP, как предлагает Сэм (например, Windows Service Bus или Rabbit), либо купите существующий продукт (NServiceBus и т. д.).
Если вы хотите интегрироваться только между несколькими локальными базами данных, вы можете рассмотреть возможность использования Service Broker Sql Server (http://msdn.microsoft.com/en-gb/library/bb522893.aspx).
Он обеспечивает надежный асинхронный способ передачи данных между базами данных в режиме реального времени. Он может управлять порядком сообщений и может одновременно запускать множество диалогов в одной и той же очереди, каждый из которых обрабатывается собственным экземпляром получателя.
Здесь есть хороший обзор... http://technet.microsoft.com/en-us/library/ms166104(v=sql.105).aspx