Cloudflare Durable Objects: evite reservas duplicadas no app
Por Mauro Mequelussi · Curso gratuito Cloudflare Workers sem mistério: back-end e IA sem servidor · Português (PT-BR)
Resposta direta · O que esta aula resolve
A Aula 8 de 17 ("Cloudflare Durable Objects: evite reservas duplicadas no app"), parte do módulo "Guardar dados" do curso gratuito "Cloudflare Workers sem mistério: back-end e IA sem servidor" na Escola de Aplicativos (ministrado por Mauro Mequelussi), ensina na prática: o aluno descobre o que são Cloudflare Durable Objects e como eles eliminam problemas clássicos de reservas simultâneas no mesmo horário. Veja como funcionam o SQLite embutido, chamadas via RPC, WebSockets com hibernação e alarmes temporizados. Conheça também os limites arquiteturais, alternativas como Supabase e Redis, e como aproveitar o plano gratuito.
Crie sua conta grátis para assistir a esta videoaula em HD
O resumo técnico e os capítulos abaixo são abertos para consulta. Crie sua conta 100% gratuita em segundos para liberar todas as 17 videoaulas em HD, controle automático de progresso, Tutor IA e certificado gratuito verificável.
- R$ 0 · Sem cartão de crédito
- Tutor IA tira-dúvidas da aula
- Certificado gratuito incluso
O que você vai aprender
- O que são Durable Objects e como diferem de um Worker convencional
- Como garantir que apenas um pedido acesse e altere dados disputados por vez
- O funcionamento do banco SQLite integrado e privado de cada objeto
- Como conectar seu Worker ao objeto pelo nome via RPC sem complicação
- Como usar WebSockets com hibernação e alarmes para atualizações ao vivo
- Quando escolher Durable Objects e quando preferir bancos relacionais como o D1
Pontos-chave da aula
- Cada Durable Object tem um identificador único global e atende um pedido de cada vez
- O armazenamento SQLite embutido é fortemente consistente e exclusivo daquela instância
- WebSockets hibernáveis mantêm conexões em tempo real ativas sem cobrar tempo ocioso
- Nunca coloque todo o sistema em um único objeto: particione por loja, sala ou usuário para evitar gargalos
- O plano gratuito oferece 100 mil requisições por dia e 5 GB de armazenamento SQLite
Capítulos e roteiro técnico da aula
9 capítulos minutados- 00:00
O problema do horário duplicado no mesmo segundo
Entenda como cliques simultâneos causam conflitos de concorrência e por que Workers sem estado não conseguem coordenar reservas sozinhos.
- 00:21
A analogia do recepcionista com a prancheta
Uma metáfora simples para entender o papel de um coordenador centralizado que atende uma solicitação por vez.
- 00:47
O que é e como funciona um Durable Object
As três características fundamentais dos Durable Objects: identificador global exclusivo, banco SQLite próprio e fila de processamento único.
- 01:32
Comunicação com o objeto via stub e RPC
Como o Worker localiza a instância correta pelo nome e invoca seus métodos nativamente por chamada de procedimento remoto.
- 01:53
Reserva garantida, WebSockets e alarmes
Aplicação prática no app de agendamento, sincronização de telas em tempo real sem custo ocioso e disparo de alarmes automáticos.
- 02:41
Quando não usar Durable Objects
Casos onde Workers comuns ou o Cloudflare D1 são escolhas melhores, além de cuidados para evitar gargalos arquiteturais.
- 03:18
Comparativo com Supabase, Redis e Firebase
Análise das alternativas de mercado para travas de concorrência e colaboração ao vivo frente à proposta integrada da Cloudflare.
- 03:51
Preços, plano gratuito e hibernação
Limites de requisições no plano grátis, cobrança no plano pago e a importância de deixar o objeto hibernar.
- 04:12
Conclusão e introdução a Queues e Cron Triggers
Recapitulação da solução de horário único e prévia de tarefas assíncronas com filas e agendamentos.
Momentos de destaque na prática
As 3 regras que definem um Durable Object
Entenda por que Durable Objects juntam código, SQLite dedicado e fila de processamento único para impedir dados corrompidos.
Como evitar reservas duplicadas na prática
Veja como enfileirar solicitações concorrentes, atualizar telas via WebSocket e agendar cancelamentos com alarmes.
Quando NÃO usar Durable Objects
Evite gargalos caros descobrindo exatamente quando o D1 ou Workers comuns são melhores que um Durable Object.
Notas de aula e guia de estudo
Quando dois clientes tentam reservar o mesmo horário no exato segundo, back-ends sem estado tradicionais podem confirmar ambos por engano. Os Cloudflare Durable Objects resolvem essa dor de cabeça centralizando o processamento em um único objeto por entidade, garantindo consistência total e execução estritamente sequencial.
O que você vai aprender
- O que são Durable Objects e como diferem de um Worker convencional
- Como garantir que apenas um pedido acesse e altere dados disputados por vez
- O funcionamento do banco SQLite integrado e privado de cada objeto
- Como conectar seu Worker ao objeto pelo nome via RPC sem complicação
- Como usar WebSockets com hibernação e alarmes para atualizações ao vivo
- Quando escolher Durable Objects e quando preferir bancos relacionais como o D1
Pontos-chave
- Cada Durable Object tem um identificador único global e atende um pedido de cada vez
- O armazenamento SQLite embutido é fortemente consistente e exclusivo daquela instância
- WebSockets hibernáveis mantêm conexões em tempo real ativas sem cobrar tempo ocioso
- Nunca coloque todo o sistema em um único objeto: particione por loja, sala ou usuário para evitar gargalos
- O plano gratuito oferece 100 mil requisições por dia e 5 GB de armazenamento SQLite
