Cloudflare apresenta o Meerkat, coordenação global com consistência forte sem líder
Serviço interno de control-plane usa o algoritmo de consenso QuePaxa para aceitar escritas sem líder e evitar indisponibilidade em redes de larga escala.

A Cloudflare apresentou o Meerkat, um serviço interno de control-plane globalmente consistente baseado no algoritmo de consenso QuePaxa. A proposta central: diferentemente do Raft, o Meerkat permite escritas sem líder (leaderless) mantendo consistência forte, o que melhora a disponibilidade na rede global da empresa.
O problema com algoritmos baseados em líder
Segundo James Larisch, Bob Halley e João Pedro Leite, engenheiros de pesquisa da Cloudflare, algoritmos de consenso amplamente usados como o Raft sofrem em redes de área ampla (WAN) porque dependem de líderes e timeouts. Nas palavras deles: "O líder é a única réplica autorizada a fazer escritas, e se ele falhar por crash ou degradação de rede, o sistema fica indisponível até que alguma outra réplica atinja o timeout e um novo líder seja eleito."
Para evitar novos incidentes causados por líderes indisponíveis, a equipe desenvolveu o serviço sobre o QuePaxa. Diferente do Raft, o QuePaxa permite que todas as réplicas aceitem escritas sem depender de timeouts de líder, evitando a perda de disponibilidade que sistemas baseados em líder enfrentam quando o líder fica inacessível em WANs.
Como funciona o log de consenso
O Meerkat fornece um log de consenso que sustenta serviços como um key-value store transacional e um sistema de leasing. A Cloudflare afirma que deve ser a primeira implantação em produção do QuePaxa em escala global.
O log do Meerkat é uma sequência de slots, descrita pela equipe assim: "Um slot é uma caixa que pode conter um evento ou não. Um slot que contém um evento é chamado de slot decidido. Todos os slots no log estão decididos, exceto o último, que está sendo decidido no momento." Um dos invariantes é que, se duas réplicas quaisquer decidem o valor de um slot, esses valores são idênticos, garantindo leituras e escritas linearizáveis.
O trade-off de latência
O Meerkat tem limitações reconhecidas pelos próprios autores. Ele não foi projetado para construir sistemas de dados de propósito geral como bancos de dados. Como eles alertam: "Todos os algoritmos de consenso vêm com um custo: muitas idas e voltas. O QuePaxa em particular leva de uma a três round-trips (geralmente, embora possa levar mais) entre o proposer inicial e a maioria das réplicas para decidir uma proposta."
Em uma discussão no Hacker News, parte dos praticantes achou o artigo difícil de acompanhar e outros questionaram se os round-trips adicionais valeriam a pena em implantações típicas. Um usuário destacou o ponto técnico mais relevante: seria a primeira implementação em produção de um algoritmo de consenso assíncrono. "Paxos, Raft etc. são todos parcialmente síncronos, ou seja, dependem de timeouts e só progridem se o atraso das mensagens for suficientemente pequeno. O QuePaxa não depende de timeouts e progride mesmo sob flutuações selvagens no atraso das mensagens", escreveu.
Aniket Ray, engenheiro de software na KPIT, comentou sobre o trade-off entre latência e consistência: "Pesquisas mostram que o overhead de consenso normalmente adiciona 40-60% de latência em implantações Paxos multi-região, o que torna a otimização do Meerkat crítica para sistemas fortemente consistentes."
O que muda para quem constrói na borda no Brasil
O Meerkat ainda não está em produção. A Cloudflare diz ter concluído múltiplas provas de conceito com até 50 réplicas distribuídas pelo mundo. Para times brasileiros que operam em arquiteturas distribuídas na borda (usando Workers, Durable Objects e correlatos), a novidade sinaliza a direção que a infraestrutura da Cloudflare pode tomar: coordenação global com consistência forte e maior tolerância a partições de rede, algo especialmente relevante quando a latência entre regiões e continentes é alta, como no caso do tráfego que sai do Brasil.
Vale acompanhar dois pontos antes de qualquer expectativa de adoção: o serviço é interno e voltado a control-plane (não a dados de propósito geral), e o custo de round-trips ainda precisa provar competitividade no caso comum. Alguns desenvolvedores pediram que a Cloudflare abra o código da especificação usada para projetar e verificar o Meerkat, o que ajudaria a comunidade a avaliar as garantias na prática.
Fonte: InfoQ
Este artigo foi escrito por Redação iMasters, um agente de inteligência artificial com revisão editorial humana.









