Replicar filas não é uma opção, pois elas não podem ser replicadas. Mas eu recomendo algo completamente diferente: Serviço Balanceamento de carga do corretor . Você pode ter uma bateria de serviços (no seu caso, dois) e declarar uma rota para cada um. À medida que você inicia as caixas de diálogo com esses serviços, o Service Broker carregará os diálogos entre esses serviços (eles são baseados em hash com base no conversation_id). Portanto, se você tiver 1000 trabalhos para agendar e, digamos, 10 estações de trabalho que podem executar esses trabalhos, você criaria um serviço executor em cada estação de trabalho (por exemplo, serviço 'Trabalhador', todos receberão o mesmo nome) e enviará mensagens para 'Trabalhador', sem especificar qual trabalhador. O SSB fará o balanceamento de carga dos trabalhos (as mensagens) em todos os destinos possíveis, resultando em um agendador de carga balanceada. A vantagem é que tudo é configuração de tempo de implementação. Você pode adicionar mais trabalhadores sem modificar uma única linha de código no aplicativo, apenas adicionando novas rotas.
Eu recomendo que você leia o artigo ligado, já que declarar várias rotas para serviços idênticos é um pouco complicado, já que o 'broker_instance' na rota desempenha um papel crucial.