Melhoria da eficiência do processamento de mensagens
Durante o envio e o consumo de mensagens, o DMS for Kafka, os produtores e os consumidores colaboram para garantir a confiabilidade do serviço. Além disso, a eficiência e a precisão do envio e do consumo de mensagens melhoram quando os desenvolvedores fazem uso adequado dos tópicos do DMS for Kafka.
As melhores práticas para produtores e consumidores de mensagens são as seguintes:
Reconhecimento de produção e consumo de mensagens
Produção de mensagens (envio)
O produtor decide se deseja reenviar uma mensagem com base na resposta do DMS for Kafka.
O produtor aguarda o resultado de envio ou a função de retorno de chamada assíncrona para determinar se a mensagem foi enviada com sucesso. Se ocorrer uma exceção ao enviar a mensagem, o produtor não receberá uma resposta bem-sucedida e deverá decidir se deseja reenviar a mensagem. Se uma resposta bem-sucedida for recebida, ela indica que a mensagem foi armazenada no DMS for Kafka.
Consumo de mensagens
O consumidor reconhece o consumo bem-sucedido da mensagem.
As mensagens produzidas são armazenadas sequencialmente no DMS for Kafka. Durante o consumo, as mensagens armazenadas no DMS for Kafka são obtidas em sequência. Os consumidores obtêm mensagens, consomem-nas e registram o status (com sucesso ou com falha). O status é então enviado ao DMS for Kafka.
Durante esse processo, o status de consumo de mensagem pode não ser enviado com sucesso devido a uma exceção. Nesse caso, as mensagens correspondentes serão obtidas novamente pelo consumidor na próxima solicitação de consumo de mensagens.
Transferência idempotente de produção e consumo de mensagens
Para garantir mensagens sem perdas, o DMS for Kafka implementa uma série de medidas de confiabilidade. Por exemplo, o mecanismo de armazenamento de sincronização de mensagens é usado para impedir que o sistema e o servidor sejam reiniciados ou desligados. O mecanismo ACK é usado para lidar com exceções que ocorrem durante a transmissão de mensagens.
Considerando condições extremas, como exceções de rede, você pode usar o DMS for Kafka para projetar o envio e o consumo de mensagens, além de reconhecer a produção e o consumo de mensagens.
- Se o envio da mensagem não puder ser reconhecido, o produtor precisará reenviar a mensagem.
- Depois de consumir uma mensagem que foi processada, o consumidor precisa notificar o DMS for Kafka de que o consumo foi bem-sucedido e garantir que a mensagem não seja processada repetidamente.
Produção e consumo de mensagens em lotes
Recomenda-se que as mensagens sejam enviadas e consumidas em lotes para melhorar a eficiência.
Ao consumir mensagens em lotes, os consumidores precisam processar e reconhecer mensagens na sequência de recebimento de mensagens. Portanto, quando uma mensagem no lote não ser consumida, o consumidor não precisa consumir as mensagens restantes e pode enviar diretamente o reconhecimento de consumo das mensagens consumidas com sucesso.
Uso de grupos de consumidores para facilitar a O&M
Você pode usar o DMS for Kafka como um sistema de gerenciamento de mensagens. A leitura do conteúdo das mensagens dos tópicos é útil para a localização de falhas e a depuração de serviços.
Quando ocorrem problemas durante a produção e o consumo de mensagens, você pode criar grupos de consumidores diferentes para localizar e analisar problemas ou depurar serviços para interconexão com outros serviços. Para garantir que outros serviços possam continuar a processar mensagens em tópicos, você pode criar um novo grupo de consumidores para consumir e analisar as mensagens.