Cloudflare Durable Objects provide stateful serverless computing with vendor lock-in.
Rivet Actors gives you the same capabilities as an open-source library that works with your existing infrastructure and technology stack.
Rivet Actors is an open-source library that brings the actor model to your existing infrastructure. Build stateful, distributed applications with your preferred technology stack, deployed on your own infrastructure.
When you want an intuitive platform with high-quality documentation, mature local development experience, and in-depth observability in to your workloads
When you want to use actors with your existing deployment process on Kubernetes, AWS, VPS, or any infrastructure
When you want to use your existing frameworks and libraries without platform-specific constraints
When you need built-in monitoring for actors that integrates with your existing observability stack
When you want a comprehensive ecosystem with ready-to-use integrations for popular frameworks and tools
Cloudflare Durable Objects provide stateful serverless computing that runs on Cloudflare's global edge network. Built on Cloudflare's proprietary platform, Durable Objects offer strong consistency and state persistence for JavaScript/TypeScript applications.
When you're already committed to Cloudflare Workers and want stateful capabilities
When your team exclusively works with Cloudflare's limited JavaScript/TypeScript runtime and doesn't need access to the broader npm ecosystem
When you're comfortable with Cloudflare's deployment process, monitoring limitations, and vendor lock-in
When you want raw primitives and don't need a rich ecosystem of framework integrations
Feature | Rivet Actors | Cloudflare Durable Objects | Why it matters |
---|---|---|---|
Open Source | |||
Open-source | Yes, Rivet is open-source with the Apache 2.0 license. View on GitHub. | No, Cloudflare is a closed-source, proprietary platform | Building your core technology on open-source software is vital to ensure portability and flexibility as your needs change |
Infrastructure | |||
Works with existing infrastructure | Deploy actors on Kubernetes, AWS, VPS, or any infrastructure | Locked to Cloudflare's infrastructure | Using your existing infrastructure avoids vendor lock-in and integrates with your current setup |
Data sovereignty and VPC isolation | Full control over data residency and network isolation within your VPC | Data processed on Cloudflare's global network with limited control | Data sovereignty ensures compliance with data governance requirements and maintains complete network isolation |
Works with existing deploy processes | Import the library and deploy with your existing CI/CD | Requires Cloudflare-specific deployment process | Keeping your existing deployment process reduces complexity and learning curve |
Technology flexibility | Works with your existing technology stack and frameworks | Limited to Cloudflare's limited JavaScript/TypeScript runtime, not compatible with many npm packages | Technology flexibility lets you use your existing skills and codebase |
Integrates with existing monitoring | Works with your existing observability stack | Limited monitoring options, mostly Cloudflare-specific | Integration with existing monitoring reduces operational overhead |
Runtime | |||
Actor support | First-class actor model with Rivet Actors library | Durable Objects for stateful workloads | Actor model enables scalable stateful applications with state persistence, hibernation, and realtime |
KV Persistence | Built-in KV storage for actors | KV supported for Durable Objects | Key-value storage enables persistent state without external dependencies |
SQLite Persistence | SQLite support in preview | SQLite supported for Durable Objects | SQLite provides relational database capabilities for complex data models |
Memory limits | Configurable memory limits based on needs | 128MB limit for Durable Objects | Higher memory limits allow more complex stateful applications |
Automatic connection handling | Optionally provides abstraction over HTTP, WebSockets, and SSE with intelligent failure and reconnection handling | Requires low-level implementation of connection management | Automatic connection handling reduces development time and improves reliability |
Event broadcasting | Built-in event broadcasting to specific connections or all actors | Requires complex setup or third-party solutions like PartyKit | Native event system enables real-time features with minimal setup |
Built-in scheduling | Powerful built-in scheduling system | Requires boilerplate on top of Alarms API | Native scheduling reduces complexity and improves reliability for time-based operations |
Testing support | Full Vitest support with mocking and fake timers | Limited Vitest support due to custom runtime constraints | Comprehensive testing capabilities ensure code quality and reliability |
Customizable actor lifecycle | Flexible draining mechanism with configurable lifecycle management | 60s grace period | Customizable lifecycle management allows for graceful state transfers and prevents data loss |
Control over actor upgrades | Full control based on your existing rollout mechanisms | Only allows controlling gradual deployment percentages, not specific Durable Object versions | Controlled upgrades ensure smooth transitions without service disruption tailored to your application's architecture |
Actor creation with input data | Pass initialization data when creating actors | Cannot pass input data during Durable Object creation | Ability to initialize actors with data simplifies setup and reduces boilerplate |
Actor shutdown control | Clean shutdown API for actors | Requires deleteAll with custom logic and error-prone boilerplate | Proper shutdown control ensures graceful cleanup and prevents resource leaks |
Monitoring | Built-in monitoring for development and production | Custom monitoring required | Integrated monitoring simplifies operations and debugging |
Logging | Suports your existing logging infrastructure | Provides no logging for Durable Objects | Built-in logging reduces setup time and operational complexity |
Metadata access | Built-in metadata API | Custom implementation required | Direct access to metadata such as tags, region, and more simplifies management and deployment |
Developer Tooling | |||
State inspector | Built-in tools to inspect and modify actor state | No built-in state inspection tools | Ability to view & edit actor state in real time simplifies debugging and management |
RPC debugger | Interactive RPC testing tools for actors | No built-in RPC debugging | Ability to test remote procedure calls to actors accelerates development and troubleshooting |
Connection inspector | Real-time monitoring of actor connections | No connection visualization tools | Visibility into active connections helps diagnose client-side issues and monitor usage patterns |
Actor listing and management | Browse and manage active actors with full interaction capabilities | Can list Durable Objects but cannot interact with them | Being able to list and interact with live actors enables debugging and operational management |
Development Experience | |||
Documentation | Comprehensive, developer-focused documentation | Fragmented and difficult to understand documentation | Clear documentation accelerates learning and implementation |
Compatible with Docker Compose | Seamless integration with Docker Compose for local development | No Docker Compose compatibility | Integration with Docker Compose enables use with your existing development workflows and tools |
While Cloudflare Durable Objects provides stateful serverless computing with vendor lock-in, Rivet Actors offers the same actor model capabilities as an open-source library that works with your existing infrastructure. Choose Rivet Actors when you want the power of actors without changing your deployment process, technology stack, or being locked into a specific platform. Choose Cloudflare Durable Objects when you're already committed to the Cloudflare ecosystem and don't mind the platform constraints.
Looking to migrate your existing Cloudflare Durable Objects to Rivet Actors or have more questions about how Rivet Actors can meet your needs? Our team can help make the transition smooth and seamless. We provide migration assistance, technical guidance, and dedicated support to ensure your experience with Rivet Actors is successful.