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