Я нахожусь на стадии планирования службы .NET, которая постоянно обрабатывает входящие сообщения, что включает в себя различные преобразования, вставки и обновления базы данных и т. Д. В целом, служба огромна и сложна, но отдельные задачи, которые она выполняет маленькие, простые и четкие.
По этой причине и для обеспечения возможности легкого расширения в будущем я хочу разделить сервис на несколько более мелких сервисов, которые в основном выполняют часть обработки перед передачей ее следующему сервису в цепочке.
Для этого мне нужна какая-то промежуточная система обмена сообщениями, которая будет передавать сообщения от одного сервиса к другому. Я хочу, чтобы это происходило таким образом, чтобы в случае сбоя ссылки в цепочке или ее кратковременного отключения сообщения начинали стоять в очереди и обрабатывались, как только пункт назначения снова включался.
Я всегда использовал очереди сообщений для такого типа вещей, но недавно мне стало известно о SQL Service Broker, который, похоже, делает нечто подобное. Является ли SQLSB жизнеспособной альтернативой для этого сценария, и если да, я бы увидел какие-либо преимущества в производительности, если использовать его вместо стандартной очереди сообщений?
Спасибо