Escalabilidade: EIP Competing Consumers com Apache Camel e ActiveMQ

Em arquiteturas de integração de aplicações a escalabilidade é um atributo de qualidade decisivo para o sucesso da aplicação. Para identificar gargalos antes de ir para o ambiente de produção, não deixe de incluir no seu planejamento atividades para testes arquiteturais de escalabilidade.
EIP Competing Consumers O EIP Competing Consumers é um dos principais padrões de integração relacionados diretamente com a escalabilidade. Ele responde a seguinte pergunta:

Como um consumidor de mensagens  pode processar múltiplas mensagens de maneira concorrente?

Ou melhor: O processamento não está escalando de acordo com o esperado. Como eu faço para escalar, quando eu encontro um gargalo?

Crie múltiplos consumidores competindo por mensagens em um canal.

OK. Mas como eu defino isso na prática usando Apache Camel com ActiveMQ? Você pode configurar esta option direto no componente ActiveMQ. Desta forma você vai alterar o número de consumidores padrão para todas as filas. Abaixo um exemplo de configuração do componente ActiveMQ do Apache Camel:


Caso você precise alterar uma fila específica é só passar a opção diretamente no endpoint como no exemplo abaixo:

from("activemq:QUEUE_NAME?concurrentConsumers=10");

Desta maneira é possível definir configurações diferentes de acordo com a necessidade de cada fila gerenciando a vazão adequada para cada rota.

Publicado via: AdrianoTavares(ponto)com

Exibições: 256

Comentar

Você precisa ser um membro de PanGea para adicionar comentários!

Entrar em PanGea

Badge

Carregando...

© 2019   Criado por Adriano Tavares.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço