Интеграция Rebus с устаревшими системами - PullRequest
1 голос
/ 18 апреля 2020

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

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

Я думаю, что в этой области есть место для Rebus, особенно потому, что rebus может использовать SQL Сервер или другие базы данных для очередей сообщений. Требуется простой способ создания сообщений, скажем, из хранимых процедур или триггеров в очередь таблиц.

Каков наилучший способ сделать это, учитывая, что есть некоторые версии баз данных, которые не поддерживают json типы данных, такие как SQL версии сервера <2016?. Спасибо </p>

1 Ответ

0 голосов
/ 18 апреля 2020

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

Если вы хотите интегрироваться с SQL сервером, адаптеры каналов могут быть небольшой программой, которая ищет изменения в базе данных и публикует эти изменения как события на шине.

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

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

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

Только мои два цента. ?

...