O Serviço Gerenciado para Apache Kafka é um serviço Google Cloud que ajuda você a executar clusters seguros e escalonáveis do Apache Kafka de código aberto. Esta página é uma visão geral do que o serviço automatiza e simplifica para você. Para mais informações sobre o Apache Kafka, consulte o site do Apache Kafka.
Dimensionamento e escalonamento simples
Ao criar um cluster do Serviço Gerenciado para Apache Kafka, você especifica a contagem total de vCPUs e a memória do cluster. O serviço provisiona automaticamente um número de corretores com base na contagem de vCPUs.
Para acompanhar as demandas dos clientes, monitore a utilização de recursos e, se necessário, dimensione o cluster atualizando a contagem de vCPUs e a memória. O escalonamento vertical de um cluster pode resultar no provisionamento de mais brokers. Se o aumento do tamanho do cluster exigir um novo broker, o serviço poderá reequilibrar automaticamente as partições entre os brokers.
Para informações sobre como escolher um tamanho de cluster, consulte Planejar o tamanho do cluster do Kafka.
Gerenciamento de armazenamento
O Serviço Gerenciado para Apache Kafka usa armazenamento em camadas. O armazenamento em níveis combina dois níveis de armazenamento:
- Uma quantidade limitada de armazenamento local rápido, na forma de discos pré-provisionados anexados aos brokers.
- Armazenamento remoto praticamente ilimitado. O armazenamento remoto é menos caro e não precisa ser provisionado previamente.
O sistema de armazenamento em camadas permite armazenar grandes volumes de dados com menos risco de ficar sem espaço em disco. Também pode custar menos do que usar apenas o armazenamento local.
Você é responsável por definir o tempo de retenção em tópicos individuais para controlar o custo ou atender às suas políticas de retenção de dados.
Rede flexível
O serviço torna um cluster acessível de qualquer VPC com segurança. Isso inclui acesso de várias VPCs, projetos e regiões.
Para configurar a rede de um cluster, forneça o conjunto de sub-redes em que o cluster está acessível. O serviço provisiona endereços IP particulares para os servidores bootstrap e brokers em cada sub-rede. Ele também configura o Cloud DNS privado com URLs para cada endereço IP. Os servidores de bootstrap têm um balanceador de carga, então há um único URL de bootstrap por cluster. Os URLs são os mesmos em todas as VPCs para que as configurações do cliente sejam consistentes em todos os ambientes.
Esse nível de flexibilidade é alcançado graças ao Private Service Connect (PSC). Cada endereço IP alocado para um cluster requer um endpoint do PSC. Os endpoints são provisionados automaticamente.
Clusters seguros
O serviço oferece os seguintes recursos para a segurança dos clusters: autenticação, autorização, criptografia, aplicação de patch e isolamento de recursos. Ele também não permite conexões e armazenamento não autenticados e não criptografados.
Autenticação
O serviço é compatível com dois métodos de autenticação: camada simples de autenticação e segurança (SASL) e TLS mútuo (mTLS). A autenticação mTLS está disponível em clusters criados após 24 de junho de 2025. Todas as conexões com clusters gerenciados são autenticadas com um principal que é uma identidade do IAM usando SASL ou um certificado do cliente usando mTLS. Contas humanas, de serviço e federadas são compatíveis como principais ao usar o SASL.
O serviço não é compatível com outros protocolos, incluindo SASL/GSSAPI, SASL/SCRAM-SHA-256 e SASL/SCRAM-SHA-512. O serviço também não permite conexões não autenticadas.
Autorização
O serviço usa uma abordagem em camadas para autorização. O IAM controla ações de gerenciamento de cluster, como criar, atualizar e excluir recursos. A autorização para principais autenticados depende do método usado:
SASL: os principais que usam o IAM são autorizados por associações de papéis do IAMGoogle Cloud ou com ACLs do Kafka no cluster. Para mais informações, consulte Configurar a autenticação SASL.
mTLS: os principais que fazem a autenticação com mTLS são autorizados pelas ACLs do Kafka. Para mais informações, consulte Configurar a autenticação mTLS.
É possível gerenciar as ACLs do Kafka com as ferramentas Google Cloud ou de terceiros. Para mais informações sobre como configurar o IAM e as ACLs do Kafka, consulte Controle de acesso com o IAM e as ACLs do Kafka.
Criptografia
A criptografia é obrigatória. Todas as conexões com clusters precisam usar TLS. Os certificados TLS apresentados pelos corretores são assinados pela Public Certificate Authority. Os dados armazenados são sempre criptografados. Escolha se quer usar chaves de criptografia gerenciadas pelo Google ou chaves de criptografia gerenciadas pelo cliente (CMEK) para criptografia em repouso.
Aplicação de patches
A equipe de serviços rastreia as vulnerabilidades de segurança descobertas no código de código aberto. Quando o serviço descobre vulnerabilidades, ele corrige automaticamente seus clusters.
Isolamento de recursos
Outro recurso de segurança do serviço é o isolamento de recursos. O serviço gerenciado implanta clusters em projetos de locatário em uma VPC particular inacessível por endereços IP públicos. Cada um dos seus projetos tem um projeto de locatário dedicado, com uma conta de agente de serviço dedicada. Isso ajuda a limitar o escopo do acesso concedido ao serviço.
Registro de esquema
Para simplificar a coordenação entre produtores e consumidores, o Serviço Gerenciado para Apache Kafka inclui uma API de registro de esquema. Um registro fornecido pelo serviço atua como um repositório de esquemas compartilhados entre aplicativos.
O serviço implementa a API REST do Confluent Schema Registry que ajuda na integração com aplicativos Kafka atuais. Os formatos de esquema Apache Avro e buffer de protocolo (Protobuf) são compatíveis. JSON não é compatível.
O Serviço gerenciado para Apache Kafka também oferece uma API administrativa e um conjunto de ferramentas para gerenciar registros e esquemas. O conjunto de ferramentas inclui o consoleGoogle Cloud , a CLI gcloud e as bibliotecas de cliente.
Para mais informações sobre o registro de esquema, consulte a Visão geral do registro de esquema.
Integração de dados com o Kafka Connect
O Serviço Gerenciado para Apache Kafka simplifica a integração de dados com o Kafka Connect. O Kafka Connect oferece vários plug-ins de conector integrados hospedados em clusters do Connect. Esses conectores são usados para migração, backup, recuperação de desastres, alta disponibilidade e integração de dados. Com eles, é possível conectar seus clusters do Serviço Gerenciado para Apache Kafka a vários sistemas, incluindo outras implantações do Kafka e Google Cloud serviços do Google Cloud, como BigQuery, Cloud Storage e Pub/Sub. O Kafka Connect oferece integração de dados escalonável e confiável com menor sobrecarga operacional e monitoramento e geração de registros integrados.
Para saber mais sobre o Kafka Connect, consulte a visão geral do Kafka Connect.
Clusters de alta disponibilidade
O objetivo do serviço é fornecer clusters regionais para aplicativos essenciais. Especificamente, o serviço protege você contra falhas de zonas ou corretores individuais.
Para isso, todos os clusters são provisionados em uma configuração de três zonas compatível com racks. A configuração de tópico padrão exige pelo menos três réplicas. A capacidade de reconhecimento de racks garante que as réplicas sejam criadas em zonas diferentes. O número mínimo padrão de réplicas sincronizadas é dois. Isso significa que seu cluster pode tolerar a perda completa de uma zona ou de um broker.
Quando um broker falha devido a uma falha de software, hardware ou rede, ele é substituído automaticamente. Quando o serviço detecta uma falha no broker, ele o reinicia automaticamente, em uma máquina diferente, se necessário. Depois que o agente estiver disponível, o Apache Kafka o integrará ao cluster. Uma falha completa na zona pode impossibilitar a criação de um novo broker. No entanto, o cluster continua operando enquanto as outras duas zonas permanecerem disponíveis.
Além desses recursos específicos, uma lista crescente de ferramentas e processos internos mantém proativamente a integridade do serviço, do código do Apache Kafka e das atualizações. Os backups de dados e metadados são mantidos em vários níveis, permitindo que o serviço se recupere de muitos erros humanos e falhas de software.
O serviço não oferece proteção contra falhas regionais ou de duas zonas. Para aplicativos que exigem esse nível de proteção, recomendamos executar dois clusters regionais separados. É possível sincronizar os dados entre dois clusters usando ferramentas como o MirrorMaker 2.0 do Kafka Connect.
Ferramentas para seu estilo de administração
O serviço tem como objetivo oferecer um conjunto completo de ferramentas para seu estilo de gerenciamento e solução de problemas de cluster. Isso inclui ferramentas para administrar, monitorar e registrar.
O serviço gerenciado para Apache Kafka é exposto como uma API do Google Cloud. Isso significa que você pode gerenciar clusters e recursos de cluster usando APIs REST e gRPC. Vários clientes e interfaces são fornecidos para essas APIs, incluindo
- Provedores do Terraform, se você preferir a abordagem de infraestrutura como código.
- UI console Google Cloud para trabalho interativo em um navegador.
- A CLI gcloud para trabalho interativo em um shell.
- Bibliotecas de cliente em Java, Python, Go e outras linguagens para desenvolvimento e programação de scripts personalizados.
Para monitoramento e solução de problemas, o serviço exporta métricas para o Cloud Monitoring. Algumas das métricas estão disponíveis na UI do serviço. Um conjunto completo está disponível no Cloud Monitoring para trabalho interativo, configuração de alertas e exportação para outros sistemas.
O serviço também exporta registros do broker para o Cloud Logging. Eles podem ser pesquisados e usados para criar métricas com base em registros e alertas.
Upgrades e patches
Os clusters do Serviço Gerenciado para Apache Kafka são executados na versão 3.7.1 do Apache Kafka. O serviço corrige automaticamente vulnerabilidades de segurança críticas.
As atualizações da infraestrutura subjacente, incluindo o sistema operacional e as camadas de orquestração, são contínuas e automáticas. Os brokers são atualizados com uma reinicialização gradual, sem tempo de inatividade para o cluster.
O serviço não faz upgrade automático do código do Apache Kafka em execução nos brokers para novas versões secundárias.
Custo transparente
O modelo de preços do Serviço Gerenciado para Apache Kafka é semelhante às cobranças que você vê ao executar o Apache Kafka por conta própria no Compute Engine. Você paga pelos recursos provisionados (vCPU, RAM e armazenamento local) e consumidos (armazenamento permanente e transferência de dados). O armazenamento permanente e o custo de vCPU são maiores com o Serviço Gerenciado para Apache Kafka em comparação com a configuração de um sistema semelhante por conta própria. Em contraste, os preços de transferência de dados e armazenamento local são semelhantes entre o Serviço Gerenciado para Apache Kafka e o Kafka autogerenciado. Para mais informações sobre preços, consulte Preços do Serviço Gerenciado para Apache Kafka.
Compatível porque executamos o Apache Kafka
Por fim, o Serviço Gerenciado para Apache Kafka executa o mesmo software de código aberto que você já usa no seu ambiente. Não é preciso mudar o código do aplicativo para migrar para o serviço.
Limitações
O Serviço Gerenciado para Apache Kafka tem as seguintes limitações:
Cada cluster precisa ter recursos iguais em cada uma das três zonas. Não há suporte para clusters do Serviço Gerenciado para Apache Kafka de uma ou duas zonas.
Não é possível escolher as zonas ao criar o cluster.
Não é possível configurar o volume de armazenamento local em um cluster.
O Serviço gerenciado para Apache Kafka é executado no modo KRaft. O modo Zookeeper não é compatível.
As APIs JMX para métricas não são compatíveis.
Embora seja possível mudar as configurações do broker com o modo de atualização
read-onlya qualquer momento, essas mudanças só entram em vigor quando os brokers são reiniciados. As reinicializações acontecem periodicamente como parte dos processos de manutenção e upgrade do Google, mas não há um cronograma definido nem uma maneira de acioná-las manualmente. Por isso, não é possível controlar quando essas mudanças entram em vigor. Exemplos de configurações deread-onlyincluemauto.create.topics.enableebackground.threads. As atualizações de configurações com o modo de atualizaçãocluster-wide, comomessage.max.bytes, não exigem reinicializações e entram em vigor imediatamente.Alguns parâmetros de configuração do broker são gerenciados pelo serviço e não podem ser atualizados. Isso inclui
broker.ide configurações relacionadas ao armazenamento, comoremote.log.storage.system.enable.
A seguir
- Crie um cluster do Serviço Gerenciado para Apache Kafka.
- Envie e receba mensagens usando um cluster do Serviço Gerenciado para Apache Kafka.
- Gere dados sintéticos para um cluster do Serviço Gerenciado para Apache Kafka.
- Revise as limitações do Serviço Gerenciado para Apache Kafka.
- Saiba mais sobre os preços do Serviço Gerenciado para Apache Kafka.