Qualquer maneira de rotear mensagens do MSMQ com base no rótulo?

1

Eu tenho um sistema com um remetente MSMQ (gera cerca de 10k mensagens / seg) e um receptor MSMQ (2k mensagens / seg). Gerar e enviar mensagens é rápido, a leitura e o processamento são lentos. Por isso, quero colocar um balanceador de carga e usar alguns receptores. No momento, as mensagens são formatadas em XML, uma vez que eu resolvo o balanceamento de carga e planejo mudar para o formatador binário.

Problema: a mensagem com um rótulo específico (ou, se possível, o valor do tag XML interno) deve ir exatamente para o mesmo receptor o tempo todo. A situação em que o servidor está inativo está fora do escopo desta questão (bônus se você souber como lidar com isso).

Eu uso o HAProxy para outro balanceamento de carga MSMQ round robin, e isso funciona bem no modo TCP. Gostaria de saber se posso reutilizá-lo para essa situação.

Pergunta: como configurar o HAProxy para balancear a carga de mensagens MSMQ com base no rótulo ou no valor de tag formatado em XML dentro de uma mensagem. Mensagens com o mesmo rótulo devem ir para o receptor constante. Existem outras alternativas?

Amostra:

message [Label="server1"] [XML BODY ...] => LB => server1
message [Label="server2"] [XML BODY ...] => LB => server2

ou similar ao que o RabbitMQ faz para "troca direta"

Fontedaimagem: pubs.vmware.com

    
por oleksii 15.07.2013 / 11:53

0 respostas