rAck: Proposta de Configuração para Garantia de Entrega de Mensagens no Apache Kafka

  • Iago da Cunha Corrêa UFSM
  • Patrícia Pitthan Barcelos UFSM

Resumo


O Kafka é uma plataforma de mensageria e streaming que segue um modelo produtor-consumidor. Visando garantir a entrega de mensagens, o Kafka apresenta um mecanismo de Reconhecimento Positivo (ack). Apesar de existirem três níveis distintos de configuração padrão para ack, os mesmos apresentam restrições de confiabilidade ou desempenho durante transmissões em redes instáveis, obrigando os usuários a priorizar um destes requisitos. Este trabalho propõe o Reliable Ack (rAck), uma configuração para transmissão de mensagens baseada no monitoramento, identificação e recuperação de mensagens em caso de perda. Experimentos foram conduzidos com o objetivo de comparar a configuração rAck com os níveis padrão de ack do Kafka, permitindo a observação de que a configuração proposta é viável para transmissões de mensagens em redes suscetíveis a perdas de pacotes, recuperando mensagens e apresentando desempenho satisfatório.
Palavras-chave: Apache Kafka, Mensageria, Confiabilidade

Referências

N. Narkhede, G. Shapira, and T. Palino, Kafka: The Definitive Guide, 1st ed. Cambridge: O’Reilly Media, 2017.

D. N. Jha, S. Garg, P. P. Jayaraman, R. Buyya, Z. Li, G. Morgan, and R. Ranjan, A study on the evaluation of HPC microservices in containerized environment. Wiley Online Library, 2019.

A. B. A. Alaasam, G. Radchenko, and A. Tchernykh, “Stateful stream processing for digital twins: Microservice-based kafka stream dsl,” in 2019 International Multi-Conference on Engineering, Computer and Information Sciences (SIBIRCON), 2019, pp. 0804–0809.

F. Junqueira and B. Reed, Zookeeper: Distributed Process Cordination, 1st ed. Cambridge: O’Reilly Media, 2013.

H. Wu, Z. Shang, and K. Wolter, “Trak: A testing tool for studying the reliability of data delivery in apache kafka,” in 2019 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW), 2019, pp. 394–397.

P. Bhimani and G. Panchal, “Message delivery guarantee and status update of clients based on iot-amqp,” in Intelligent Communication and Computational Technologies. Singapore: Springer, 2018, pp. 15–22.

S. Lee, H. Kim, D. Hong, and H. Ju, “Correlation analysis of mqtt loss and delay according to qos level,” in The International Conference on Information Networking 2013 (ICOIN), 2013, pp. 714–717.

J. E. Luzuriaga, M. Perez, P. Boronat, J. C. Cano, C. Calafate, and P. Manzoni, “A comparative evaluation of amqp and mqtt protocols over unstable and mobile networks,” in 12th IEEE Consumer Communications and Networking Conference (CCNC), 2015, pp. 931–936.

P. Le Noac’h, A. Costan, and L. Bougé, “A performance evaluation of apache kafka in support of big data streaming applications,” in 2017 IEEE Int. Conference on Big Data (Big Data), 2017, pp. 4803–4806.
Publicado
22/11/2021
CORRÊA, Iago da Cunha; BARCELOS, Patrícia Pitthan. rAck: Proposta de Configuração para Garantia de Entrega de Mensagens no Apache Kafka. In: TRABALHOS EM ANDAMENTO - SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SISTEMAS COMPUTACIONAIS (SBESC), 11. , 2021, Evento Online. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2021 . p. 80-85. ISSN 2763-9002. DOI: https://doi.org/10.5753/sbesc_estendido.2021.18497.