Pica-pau

No Milvus 2.6, o Woodpecker substitui o Kafka e o Pulsar por um sistema de log de gravação antecipada (WAL) nativo da nuvem. Projetado para armazenamento de objetos, o Woodpecker simplifica as operações, maximiza o rendimento e escala sem esforço.

Objetivos de design do Woodpecker:

  • A mais alta taxa de transferência em ambientes de nuvem

  • Registo duradouro, apenas de anexos, para uma recuperação fiável

  • Mínima sobrecarga operacional, sem discos locais ou brokers externos

Arquitetura de disco zero

A principal inovação do Woodpecker é a sua arquitetura de disco zero:

  • Todos os dados de registo armazenados no armazenamento de objectos na nuvem (como o Amazon S3, o Google Cloud Storage ou o Alibaba OS)
  • Metadados geridos através de armazenamentos de valores chave distribuídos como o etcd
  • Sem dependências de disco local para operações principais

woodpecker layers camadas do woodpecker

Componentes da arquitetura

Uma implantação padrão do Woodpecker inclui os seguintes componentes:

  • Cliente: Camada de interface para emitir solicitações de leitura e gravação
  • LogStore: Gerencia o buffer de gravação de alta velocidade, os uploads assíncronos para o armazenamento e a compactação de logs
  • Backend de armazenamento: Suporta serviços de armazenamento escaláveis e de baixo custo, como S3, GCS e sistemas de arquivos como EFS
  • Etcd: Armazena metadados e coordena o estado do log em nós distribuídos

Modos de implantação

O Woodpecker oferece dois modos de implantação para atender às suas necessidades específicas:

MemoryBuffer - Leve e livre de manutenção

O modo MemoryBuffer oferece uma opção de implantação simples e leve, em que o cliente incorporado do Woodpecker armazena temporariamente em memória as gravações recebidas e as envia periodicamente para um serviço de armazenamento de objetos na nuvem. Neste modo, o buffer de memória é embutido diretamente no cliente, permitindo um agrupamento eficiente antes da descarga para o S3. Os metadados são gerenciados usando o etcd para garantir consistência e coordenação. Este modo é mais adequado para cargas de trabalho pesadas em lote em implantações de menor escala ou ambientes de produção que priorizam a simplicidade sobre o desempenho, especialmente quando a baixa latência de gravação não é crítica. A latência de gravação neste modo é geralmente entre 200-500 ms.

woodpecker memory mode deployment implantação do modo de memória do pica-pau

QuorumBuffer - Optimizado para baixa latência e alta durabilidade

O modo QuorumBuffer foi projetado para cargas de trabalho de leitura/gravação sensíveis à latência e de alta frequência que requerem capacidade de resposta em tempo real e forte tolerância a falhas. Nesse modo, o cliente do Woodpecker interage com um sistema de quorum de três réplicas para fornecer buffer de gravação de alta velocidade, garantindo forte consistência e alta disponibilidade por meio de consenso distribuído.

Uma gravação é considerada bem-sucedida quando o cliente replica com sucesso os dados para pelo menos dois dos três nós de quorum, geralmente concluindo em milissegundos de um dígito, após o que os dados são descarregados de forma assíncrona no armazenamento de objetos na nuvem para durabilidade a longo prazo. Esta arquitetura minimiza o estado no nó, elimina a necessidade de grandes volumes de disco locais e evita reparações complexas de anti-entropia frequentemente necessárias nos sistemas tradicionais baseados em quorum.

O resultado é uma camada WAL simplificada e robusta, ideal para ambientes de produção de missão crítica, onde consistência, disponibilidade e recuperação rápida são essenciais.

woodpecker quorum mode deployment implantação do modo quorum do woodpecker

Benchmarks de desempenho

Executamos benchmarks abrangentes para avaliar o desempenho do Woodpecker em uma configuração de nó único, cliente único e fluxo de log único. Os resultados foram impressionantes quando comparados ao Kafka e ao Pulsar:

SistemaKafkaPulsarWP MinioWP LocalWP S3
Taxa de transferência129,96MB/s107MB/s71MB/s450MB/s750MB/s
latência58ms35ms184ms1,8 ms166ms

Para contextualizar, medimos os limites teóricos de throughput de diferentes backends de armazenamento em nossa máquina de teste:

  • MinIO: ~110 MB/s
  • Sistema de ficheiros local: 600-750 MB/s
  • Amazon S3 (instância única do EC2): até 1,1 GB/s

Notavelmente, o Woodpecker atingiu consistentemente 60-80% da taxa de transferência máxima possível para cada backend - um nível de eficiência excecional para middleware.

Principais informações sobre desempenho

  • Modo de sistema de arquivos local: O Woodpecker alcançou 450 MB/s - 3,5 vezes mais rápido que o Kafka e 4,2 vezes mais rápido que o Pulsar - com latência ultrabaixa de apenas 1,8 ms, o que o torna ideal para implantações de nó único de alto desempenho.
  • Modo de armazenamento em nuvem (S3): Ao gravar diretamente no S3, o Woodpecker atingiu 750 MB/s (cerca de 68% do limite teórico do S3), 5,8 vezes mais rápido que o Kafka e 7 vezes mais rápido que o Pulsar. Embora a latência seja maior (166 ms), essa configuração fornece uma taxa de transferência excecional para cargas de trabalho orientadas por lote.
  • Modo de armazenamento de objetos (MinIO): Mesmo com o MinIO, o Woodpecker atingiu 71 MB/s - cerca de 65% da capacidade do MinIO. Esse desempenho é comparável ao do Kafka e do Pulsar, mas com requisitos de recursos significativamente menores.

O Woodpecker é particularmente otimizado para gravações simultâneas e de alto volume, em que manter a ordem é fundamental. E esses resultados refletem apenas os estágios iniciais de desenvolvimento - espera-se que as otimizações em andamento na fusão de E/S, no buffer inteligente e na pré-busca levem o desempenho ainda mais perto dos limites teóricos.

Benefícios operacionais

A arquitetura nativa da nuvem do Woodpecker oferece vantagens operacionais significativas:

  • Gerenciamento de armazenamento local zero: Elimina o gerenciamento de volumes de disco, a configuração de RAID e as falhas de hardware
  • Dimensionamento automático: O armazenamento é dimensionado com o armazenamento de objetos na nuvem sem planejamento de capacidade
  • Eficiência de custos: Armazenamento pago conforme o uso com classificação e compactação automáticas
  • Alta disponibilidade: Aproveita a durabilidade de 11 noves dos provedores de nuvem com recuperação rápida
  • Implantação simplificada: Dois modos de implantação (MemoryBuffer/QuorumBuffer) atendem a diferentes necessidades operacionais
  • Fácil de usar para desenvolvedores: Configuração mais rápida do ambiente e arquitetura consistente em todos os ambientes

Essas vantagens tornam o Woodpecker particularmente valioso para RAGs de missão crítica, agentes de IA e cargas de trabalho de pesquisa de baixa latência, em que a simplicidade operacional é tão importante quanto o desempenho.

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
Feedback

Esta página foi útil?