RabbitMQ Trigger
Descubra mais sobre o RabbitMQ Trigger e saiba como utilizá-lo na Digibee Integration Platform.
O RabbitMQ Trigger é responsável pelo consumo das mensagens de um broker RabbitMQ.
Parâmetros
Dê uma olhada nas opções de configuração do componente. Parâmetros suportados por expressões Double Braces estão marcados com (DB)
.
Parâmetro | Descrição | Valor padrão | Tipo de dado |
---|---|---|---|
Account | Nome da conta que será utilizada (a conta deve ser do tipo basic). | N/A | String |
Hostname | Endereço do host do RabbitMQ. | N/A | String |
Port | Porta onde o RabbitMQ está escutando. | 5672 | Inteiro |
Virtual Host | Configuração de host virtual que define o tenant do RabbitMQ que se deseja acessar. | / | String |
Auto Acknowledge | Se “true”, a mensagem será confirmada assim que chegar ao trigger e não esperará um retorno do pipeline associado; se "false", a mensagem ficará pendente enquanto o pipeline a estiver processando. | False | Booleano |
Binary Message | Se "true", define que a mensagem recebida será binária e, portanto, seu conteúdo será apresentado como base64; se "false", a mensagem será apresentada como texto. | False | Booleano |
Maximum Timeout | Tempo máximo (em milissegundos) para o pipeline processar informação antes de retornar uma resposta. Padrão: 300000. Limite: 900000. | 300000 | Inteiro |
Expiration | Tempo máximo de espera da mensagem numa fila de pipeline. | 600000 | Inteiro |
Allow Redelivery of Messages | Se "true", uma execução de pipeline será re-executada em caso de erro; se "false", não haverá re-execução em caso de erro. | False | Booleano |
O cliente RabbitMQ não permite a limitação do tamanho de mensagens. Caso mensagens muito grandes sejam enviadas, a infraestrutura de triggers da Digibee poderá recusá-las. Não aconselhamos o envio de mensagens grandes através de um barramento de mensagens.
Esse trigger possui 2 estratégias de acknowledge (confirmação de recebimento) de mensagens:
Acknowledge automático
A confirmação de cada mensagem recebida pelo trigger acontece de forma automática e imediata no recebimento e o broker entende que ela foi entregue. Por um lado, o acknowledge automático garante um grande desempenho, mas por outro não impede a perda da mensagem caso o pipeline associado não a processe ou a processe com falha.
Acknowledge manual
Cada mensagem recebida pelo trigger permanece em "unchecked", um estado de não confirmação, enquanto estiverem sendo processadas pelo pipeline. No acknowledge manual, o broker RabbitMQ entende que a mensagem está pendente e, caso haja qualquer problema na infraestrutura do trigger ou o pipeline responda com erro, a mensagem em questão pode ser reprocessada. O número de consumers configurados para o pipeline dita quantas mensagens podem ser processadas ao mesmo tempo. Para isso, o tamanho de prefetch do RabbitMQ é configurado com o mesmo valor de consumers do pipeline.
Consumers
A configuração de consumidores feita no momento de implantação de um pipeline impacta diretamente no throughput de recebimento e saída de mensagens quando o RabbitMQ Trigger é ativado. Caso o auto acknowledge esteja desabilitado, a preocupação com o número de consumidores se torna ainda mais importante. Isso acontece porque o número de mensagens simultâneas sendo processadas é igual ao número de consumidores configurados.
Declaração de filas, routing keys e exchanges
O RabbitMQ Trigger não declara parâmetros de configuração de filas, routing keys e exchanges no broker RabbitMQ. É esperado que toda a configuração já esteja feita para que o trigger possa consumir mensagens de filas.
Formato de mensagem na entrada do pipeline
Pipelines associados com o RabbitMQ Trigger recebem a seguinte mensagem como entrada:
Atualizado