Usar a replicação para aumentar a resiliência de uma aplicação de streaming do Kafka em todas as regiões
Você pode usar o replicador do MSK para configurar topologias ativa-ativa ou ativa-passiva de cluster a fim de aumentar a resiliência da sua aplicação Apache Kafka em todas as regiões da AWS. Em uma configuração ativa-ativa, os dois clusters do MSK estão atendendo ativamente leituras e gravações. Em uma configuração ativa-passiva, somente um cluster do MSK por vez estará atendendo ativamente dados de streaming, enquanto o outro cluster estará em espera.
Considerações para criar aplicações do Apache Kafka em várias regiões
Seus consumidores devem ser capazes de reprocessar mensagens duplicadas sem impacto posterior. O replicador do MSK replica os dados pelo menos uma vez, o que pode resultar em duplicatas no cluster em espera. Quando você muda para a região secundária da AWS, seus consumidores podem processar os mesmos dados mais de uma vez. O replicador do MSK prioriza a cópia de dados em vez das compensações do consumidor para melhorar o desempenho. Após um failover, o consumidor pode começar a ler as compensações anteriores, resultando em processamento duplicado.
Produtores e consumidores também devem tolerar a perda mínima de dados. Como o replicador do MSK replica dados de maneira assíncrona, quando a região primária da AWS começa a apresentar falhas, não há garantia de que todos os dados sejam replicados para a região secundária. Você pode usar a latência de replicação para determinar o máximo de dados que não foram copiados para a região secundária.
Uso da topologia ativa-ativa vs. ativa-passiva de cluster
Uma topologia ativa-ativa de cluster oferece quase zero tempo de recuperação e a capacidade de sua aplicação de streaming operar simultaneamente em várias regiões da AWS. Quando um cluster em uma região está comprometido, as aplicações conectadas ao cluster na outra região continuam processando dados.
As configurações ativa-passiva são adequadas para aplicações que podem ser executadas em apenas uma região da AWS por vez ou quando você precisa de mais controle sobre a ordem de processamento de dados. As configurações ativa-passiva exigem mais tempo de recuperação do que as configurações ativa-ativa, pois você deve iniciar toda a configuração ativa-passiva, incluindo seus produtores e consumidores, na região secundária para retomar o streaming de dados após um failover.