CEVIU Logo
Voltar
Revogação de Sessão em Escala: A Estratégia do Canva para Alta Performance e Segurança

Canva detalha estratégia para revogação de sessões em larga escala, otimizando performance e segurança

Aprofundamento CEVIU

Aprofundamento

A estratégia do Canva para gerenciar a revogação de sessões de milhões de usuários exemplifica os desafios clássicos de escalabilidade em sistemas distribuídos. O sistema inicial dependia de um cache em memória alimentado por um banco de dados MySQL. Embora rápido para consultas, o processo de recarregar esse cache durante cada deploy gerava um gargalo, conhecido como "stampede" no banco de dados. Centenas de instâncias de gateway competiam para buscar milhões de registros, sobrecarregando o MySQL e lentificando a implantação de novas versões da plataforma.

Para resolver isso, o Canva moveu o armazenamento primário desses registros de revogação para o Amazon S3. Eles segmentaram o período de revogação de 12 horas em "chunks" de 30 minutos, armazenados como objetos binários no S3. Cada registro de revogação foi compactado para 16 bytes, permitindo buscas eficientes por meio de algoritmos de busca binária diretamente nos dados baixados. Um processo assíncrono é responsável por manter esses chunks atualizados, utilizando um mecanismo de controle de concorrência otimista com requisições PUT condicionais para evitar perda de dados. Esta abordagem não apenas otimizou a velocidade dos deploys e diminuiu a dependência do MySQL, mas também reduziu em 87,5% a pegada de memória do cache, como discutido na matéria do CEVIU News de 16 de julho de 2026, "Desafios e Estratégias em Arquiteturas de Cache para Alta Performance e Escala", ao minimizar o overhead de objetos Java. O Canva demonstra a importância de testar soluções em escala real, confirmando que a performance prática pode superar as expectativas teóricas, como também vimos na cobertura sobre a escalabilidade da Meta em 3 de julho de 2026.

O que mudou

A principal mudança na arquitetura do Canva foi a transição de um modelo de cache de revogação intensivo em MySQL para um sistema híbrido que utiliza o S3 como a fonte primária e durável do cache. Anteriormente, o reabastecimento do cache em memória sobrecarregava o banco de dados MySQL, exigindo várias réplicas e impactando a velocidade dos deploys. Com a nova arquitetura, o S3 atua como um intermediário escalável e eficiente, permitindo que as instâncias de gateway baixem os dados de revogação de forma muito mais rápida e sem pressão no banco de dados.

Esta migração resultou em melhorias significativas: a velocidade de deploy foi otimizada, o número de réplicas de leitura do MySQL foi reduzido de várias para apenas duas, e o formato binário compactado dos registros de revogação diminuiu o consumo de memória do cache em 87,5%. O que antes era um gargalo de desempenho e um desafio para a escalabilidade, com dependência direta do MySQL, agora é um sistema distribuído mais resiliente e performático, capaz de lidar com a carga de milhões de sessões.

Por que isso importa

A estratégia do Canva é um case de estudo essencial para qualquer profissional de desenvolvimento que lida com sistemas de alta escala e volumes massivos de dados. Ela ilustra como a escolha de tecnologias de armazenamento e caching pode impactar drasticamente a performance, a segurança e a experiência do desenvolvedor (DX). A otimização não se limitou a implementar um cache, mas a redesenhar fundamentalmente a forma como os dados de revogação são armazenados, acessados e mantidos, indo além da simples replicação de banco de dados.

Este caso reforça que, muitas vezes, a solução não é apenas escalar a infraestrutura existente, mas repensar a arquitetura com foco em princípios de sistemas distribuídos e otimização de recursos. A compactação de dados, o uso de formatos binários e o emprego de serviços de nuvem como o S3 para fins não convencionais demonstram uma abordagem prática para resolver problemas de performance e confiabilidade, que também foram pautas em coberturas anteriores do CEVIU News, como na de 15 de julho de 2026, sobre a arquitetura de serviço da Netflix em larga escala.

Linha do tempo

  1. Cloudflare escala sistema Security Insights em 10x.

  2. Meta reestrutura armazenamento para otimizar workloads de IA.

  3. Zalando escala balanceamento de carga no lado do cliente para 1 milhão de RPS.

  4. Netflix detalha desafios em arquitetura de topologia de serviço em escala.

  5. CEVIU News explora estratégias de cache para alta performance e escala.

  6. Canva detalha sistema de revogação de sessões em larga escala.

Perguntas frequentes

Por que a revogação de sessões é um desafio em larga escala?

Em sistemas como o Canva, com milhões de usuários, cada requisição de back-end precisa saber o status da sessão. Se um usuário desloga ou suas permissões mudam, é preciso revogar ou atualizar rapidamente sua sessão, gerando um volume imenso de verificações e atualizações que podem sobrecarregar o banco de dados.

Qual o papel do S3 nesta nova arquitetura do Canva?

O S3 foi escolhido como um cache durável e escalável para armazenar os registros de revogação. Ele substituiu a dependência direta do MySQL para o carregamento do cache, permitindo que milhões de registros sejam baixados de forma eficiente pelas instâncias de gateway, sem criar gargalos no banco de dados.

Como o Canva otimizou o uso de memória no cache de revogação?

O Canva compactou os registros de revogação para apenas 16 bytes cada, armazenando-os em um formato binário denso. Isso permitiu que o cache em memória fosse 87,5% menor do que a implementação anterior, que usava múltiplos objetos Java para cada registro, reduzindo significativamente o consumo de RAM nos servidores.

O que são as 'stampedes' no banco de dados e como foram resolvidas?

As 'stampedes' ocorriam quando, durante um deploy, centenas de instâncias de gateway tentavam simultaneamente recarregar todo o cache de revogações do MySQL, sobrecarregando o banco de dados. A solução foi migrar o carregamento inicial do cache para o S3, que lida com grandes volumes de download de forma muito mais eficiente e escalável.

Fontes

Avalie este artigo:
Compartilhar:
Categoria
CEVIU Web Dev
Publicado
27 de julho de 2026
Editoria
CEVIU Web Dev

Quer receber mais sobre CEVIU Web Dev?

Conteúdo curado diariamente, direto no seu e-mail.

Conteúdo curado diariamenteDiversas categoriasCancele quando quiser