Código serverless com estado próprio e consistente
Crie e execute serviços de chat, sistemas multiplayer e aplicações colaborativas que mantêm os usuários sincronizados no mundo todo, sem message brokers ou state stores para gerenciar.
Apps serverless de longa duração
Os durable objects executam pelo tempo necessário. Podem processar em segundo plano e atender a grandes volumes de requisições simultâneas.
Todos os usuários em sincronia
Todo durable object funciona como servidor e cliente WebSocket. Transmita o estado a todos os clientes conectados em poucas linhas de código.
Escale para milhões conforme precisar
Dê a cada unidade de trabalho da sua aplicação um durable object leve e isolado. Execute milhões deles, sem planejar capacidade.
Um coordenador para cada estado compartilhado
Toda chamada a um durable object chega à sua única instância ativa, onde quer que ela esteja entre os mais de 100 data centers. Uma escrita condicional garante um só dono, mesmo com falhas de rede. Você escreve a classe, a Azion cuida do posicionamento, do roteamento e do failover.
Casos de uso
O caminho mais curto para apps stateful em tempo real
Requisições de qualquer lugar chegam ao mesmo durable object, e uma única instância coordena todos os clientes que compartilham o estado. Ele faz fan-in e fan-out por WebSocket, e o SQLite embutido guarda estado, eventos e histórico junto do seu código.
"Nossa parceria com a Azion transformou nossas operações. Reduzimos custos e melhoramos a performance, recuperando mais de 200 horas mensais para focar em desenvolvimento estratégico."
Mateus Leonardi
CTO na HeroSpark
Todas as primitivas de desenvolvimento
de que você precisa
Perguntas Frequentes
O que é o Durable Objects?
O Durable Objects é computação serverless com estado próprio e consistente na Azion Web Platform. Cada objeto é uma só instância do seu código, identificada por um nome único, com estado em memória, armazenamento SQL transacional, suporte a WebSocket e alarmes. Toda requisição para esse objeto chega à mesma instância, o que torna o objeto o ponto de coordenação de tudo o que muitos usuários ou serviços compartilham.
Como o Durable Objects mantém o estado consistente?
Três garantias trabalham juntas. Só uma instância de cada durable object executa por vez, protegida por um registro de posse em armazenamento durável. Essa instância processa um evento por vez, então requisições simultâneas nunca se intercalam. E cada escrita é uma transação ACID no banco SQLite do próprio objeto, confirmada em armazenamento durável antes de a resposta ser enviada.
Qual a diferença entre Durable Objects e Functions?
Functions processa cada requisição de forma independente e não guarda nada entre execuções. Um durable object preserva o estado entre requisições, mantém conexões WebSocket abertas, executa alarmes e atende, a partir de uma única instância, todos os clientes que usam o mesmo objeto. Use Functions para lógica no momento da requisição e Durable Objects quando muitos clientes precisam compartilhar e atualizar o mesmo estado.
Quando usar Durable Objects em vez de KV Store ou SQL Database?
O KV Store é eventualmente consistente e mantém a última escrita quando duas escritas atingem a mesma chave, o que atende configurações e dados de sessão lidos em alto volume. O SQL Database atende dados relacionais consultados por toda a aplicação. Use Durable Objects quando uma entidade, como uma sala, um carrinho ou uma conta, precisa de atualizações em ordem e de uma única fonte da verdade.
Como funcionam os WebSockets no Durable Objects?
Um objeto aceita conexões WebSocket diretamente e pode enviar mensagens para todas elas. Quando não chegam mensagens, o objeto hiberna enquanto as conexões continuam abertas e acorda quando a próxima mensagem chega, então conexões ociosas não mantêm o objeto em execução.
Como funcionam os alarmes?
Um objeto define um alarme para um momento futuro, e a plataforma acorda esse objeto quando chega a hora, mesmo que ele tenha hibernado. Em casos raros de falha, um alarme pode disparar mais de uma vez, então escreva handlers que possam ser repetidos com segurança.
Posso criar AI agents com o Durable Objects?
Sim. Dê a cada agent ou conversa o próprio durable object e guarde o histórico no armazenamento SQL do objeto, para que cada interação leia e grave o mesmo estado.
Como o Durable Objects da Azion se compara a outras plataformas?
A Azion segue o mesmo modelo de Durable Objects: uma instância por objeto, eventos processados em ordem, armazenamento transacional, WebSockets e alarmes. Cada objeto guarda os dados no próprio banco SQLite, com as mudanças salvas em armazenamento durável fora da máquina que o executa. A API é compatível, então o código de Durable Objects que você já tem executa na Azion.
Como migrar código de Durable Objects existente para a Azion?
O modelo de programação é o mesmo: uma classe, um nome, armazenamento, WebSockets e alarmes. A API é compatível, então suas classes executam na Azion sem reescrita. Basta substituir os bindings atuais pela configuração da Azion.
Construa uma vez.Rode em qualquer lugar.
Ganhe um caminho mais rápido para lançar, menos latência e menos sobrecarga de infraestrutura.