CloudFlare dévoile la bêta de Durable Objects
(blog.cloudflare.com)- Des « Unique Durable Objects » pour le serverless
→ Objects : comme dans le concept de la POO, ce sont des instances de classe qui incluent du code et un état
→ Unique : ils possèdent un UUID. Depuis n’importe quel Worker dans le monde, il suffit de connaître l’ID pour envoyer un message à l’objet concerné
→ Durable : contrairement aux objets classiques, ils peuvent stocker un état persistant sur disque. Cet état est accessible sans latence apparente
- Deux fonctionnalités principales
→ Storage : offre une forte cohérence transactionnelle. Il devient possible de diviser une grande base de données en plusieurs petites unités. La montée en charge se fait sans charge de maintenance
→ Coordination : les requêtes serverless sont généralement réparties aléatoirement par load balancing, ce qui empêchait jusqu’ici deux clients de se connecter au même worker ; c’est désormais possible.
Autrement dit, il devient possible d’implémenter en serverless le chat en temps réel, l’édition collaborative, la visioconférence, les files de messages Pub/Sub, les sessions de jeu, etc.
L’usage de WebSocket nécessitait ce type de coordination ; avec les DO, cela devient possible, et Workers commence donc aussi à prendre en charge WebSocket
- Les Durable Objects n’ont pas de notion de région et visent directement une portée mondiale (Cloudflare se charge d’acheminer et de gérer cela vers l’emplacement le plus proche)
Cas d’usage
-
L’application phare pourrait être un outil collaboratif d’édition de documents en temps réel utilisé à très grande échelle
-
Atomic Counter : un compteur concurrent qui ne perd pas les incréments/décréments même lorsque plusieurs clients envoient des requêtes simultanément
-
Chat : même des salons de discussion à très grande échelle sont possibles avec quelques centaines de lignes de code, avec en plus du rate limiting par IP
-
Panier d’achat, serveur de jeu, coordination IoT, flux social, widget de commentaires/chat
L’avenir des Durable Objects : une véritable base de données Edge
Pour l’instant, l’usage nécessite une invitation à la bêta
Le prix est encore en réflexion, mais il devrait être inférieur à celui d’AWS DynamoDB ou de Google Cloud Firestore (d’après un commentaire laissé sur HN par Greg, le PM)
1 commentaires
Le serverless s’est surtout appliqué jusqu’ici à des éléments majoritairement stateless, et cela semble maintenant s’étendre pour inclure aussi les parties qui nécessitent de la coordination.
Ces temps-ci, les évolutions de Cloudflare sont particulièrement intéressantes.
CloudFlare, lancement de la bêta serverless de Workers Unbound https://fr.news.hada.io/topic?id=2543
Comment CloudFlare a réduit à 0 le temps de cold start de Workers https://fr.news.hada.io/topic?id=2567
Cloudflare lance un service TV en direct 24h/24 utilisant son propre réseau mondial https://fr.news.hada.io/topic?id=2227