- Plateforme d’infrastructure serverless open source pensée pour les développeurs, permettant de déployer et faire évoluer facilement des backends complexes pour des agents IA, des applications temps réel, des serveurs de jeu, etc.
- Stack technique : Rust, V8, Deno, FoundationDB, CockroachDB, ClickHouse, Valkey, NATS, Traefik
- Fournit comme primitives unifiées diverses fonctionnalités telles que Stateless Functions, Stateful Actors et Containerized Workloads
- Stateless Functions (fonctions sans état) : adaptées aux traitements centrés sur le modèle requête-réponse, comme les serveurs API
- Stateful Actors (acteurs avec état) : idéaux pour créer des services temps réel qui conservent un état en mémoire
- Sandboxed Containers : permettent de gérer en toute sécurité des tâches lourdes ou des workloads non fiables
Fonctionnalités
- Stateful Persistence
- Les Rivet Actors conservent les données en mémoire et les enregistrent automatiquement de façon durable sur disque
- Adapté à la gestion d’états dynamiques comme les lobbys de jeu, les documents collaboratifs ou les caches
- Appels de fonctions à distance (RPC)
- Messagerie légère client-service intégrée par défaut
- Prise en charge des appels de procédure distante (RPC) typés entre client et acteur, ainsi que du broadcast
- Permet une architecture de communication temps réel sans broker de messages externe
- No Cold Starts
- Les services passent en hibernation en mode Idle, puis se réactivent instantanément quand nécessaire
- Les acteurs longue durée d’exécution (Long-Running) entrent en mode "Sleep" lorsqu’ils sont inactifs, puis restaurent immédiatement leur état à la requête suivante
- Offre, du point de vue de l’utilisateur final, une récupération après cold start et une faible latence cohérente
- Distribution edge
- Le code backend peut être déployé au plus près des utilisateurs
- Pour une latence ultra-faible, Rivet déploie les acteurs et les fonctions sur l’edge global
- Prend en charge les protocoles HTTP, WebSocket, TCP et UDP, avec déploiement possible sur l’edge global sans proxy externe
- Temps d’exécution illimité, prise en charge des conteneurs
- Aucune limite pour les processus longue durée ou les tâches en arrière-plan
- Compatible avec tous les conteneurs Docker (si ça fonctionne dans Docker, ça fonctionne aussi dans Rivet)
- Tolérance aux pannes
- L’état des acteurs est sauvegardé en continu, ce qui permet une restauration sans interruption lors d’une panne ou d’une replanification
- Garantit une haute disponibilité lorsqu’il est combiné à un routage intelligent
- Prise en charge du développement local
- Démarrage et test immédiats d’un cluster local avec
rivet dev ou Docker Compose
- Permet des cycles de développement itératifs en local avant le déploiement en production
Principaux cas d’usage
- Agents IA
- SaaS multi-tenant
- Applications local-first
- Applications collaboratives
- Exécution de code en sandbox
- Serveurs de jeu
- Synchronisation / stockage Yjs
- Applications de chat
1 commentaires
Rivet - système open source de gestion de serveurs de jeux multijoueurs
Il y a deux ans, c’était un projet open source destiné aux serveurs de jeux, mais il s’est désormais étendu à un usage serverless plus général et prend en charge divers cas d’usage.