Quarkus에서 카프카를 사용하지 않고 오류를 수정하도록 구성

Java é lindo. Quarkus é lindo. [Franz] Kafka é lindo. 그러나 플로레스는 더 이상 필요하지 않습니다. Acidentes acontecem e é importante conseguirmos nos preparar para eles. 그러나 Kafka Pelo Quarkus의 사용 기간을 초과하는 다른 팁은 없습니다.

Já vou assumir que você sabe o que é o Kafka, já manja um pouco de Quarkus e tem tudo configurado. 당신은 당신이 필요합니다.

O Quarkus possui 3 formas diferentes para tratar uma exceção quando no método com a anotação @Incoming: Parar de consumir mensagens, ignorar e DLQ(dead-letter queue).

Parar de consumir mensagens



Esse é o tratamento padrão. 정상적인 서비스를 계속 유지하십시오. Porém, as mensagens não serão mais consumidas até que alguém intervenha na mensagem, resolva o que precisar ser resolvido e então reinicie o serviço.



Caso nada tenha sido configurado, será utilizado essa opção.

무시



Nesse modo, caso ocorra alguma exceção, o Quarkus diz pro Kafka que conseguiu consumir corretamente a mensagem e finge que o erro nunca existiu.



Para configurar é muito simples. 추가로 application.properties를 추가하지 마십시오:

mp.messaging.incoming.<nome do canal>.failure-strategy=ignore


배달 못한 편지 대기열



Nesse modo, quando ocorre uma exceção, o Quarkus ainda irá informar ao Kafka que a mensagem foi consumida, porém, irá enviar a mensagem para uma fila especial onde essas mensagens poderão ser consumidas num momento oportuno.



Essa é a configuração que tem mais opções, mas é bem simples de entender:

mp.messaging.incoming.<nome do canal>.failure-strategy=dead-letter-queue
mp.messaging.incoming.<nome do canal>.dead-letter-queue.topic=<nome do tópico de DLQ>
mp.messaging.incoming.<nome do canal>.dead-letter-queue.key.serializer=<caminho para o serializador da chave>
mp.messaging.incoming.<nome do canal>.dead-letter-queue.value.serializer=<caminho para o serializador do valor da mensagem>


Por padrão, o nome do tópico será 또는 "dead-letter-topic-"+ nome do canal. Além disso, o Quarkus tentará support o caminho para o serializador. É possível seguir o palpite dele, ou configurar manualmente. O destino está nas suas mãos.

Uma outra observação Importante é que, se o tópico de DLQ não existe, então o Quarkus irá criar um novo novo tópico com as configurações padrões do Kafka (o que pode não ser a melhor abordagem possível).

고려사항



Esse é um assunto bem interessante e que eu queryia ter colocado lá no . Porém, achei que ficaria muita coisa.

Foi estranho fazer um post sem código, mas espero que tenham gostado!

좋은 웹페이지 즐겨찾기