Sunday, November 08, 2026

Francis.go: distributed actor framework

 Francis is now stable and already running on 10,000+ installs — With Blue Ink

What it is: Francis is a newly stable (v0.1.0) distributed actor framework and durable workflow engine built for Go, created by Alessandro Segala.

Key Inspirations: It combines the in-process library convenience of Orleans with the flexibility of Dapr, but scales down to single-replica setups just as well as it scales up.

Production Proven: It has been running in production since July inside Pocket ID (an OpenID Connect provider with over 10,000+ installations).

Core Capabilities:

Actors: Single-threaded state units that persist state and run alarms (surviving restarts automatically).

Jobs: Fire-and-forget, retriable tasks that support cron scheduling and idempotency keys.

Workflows: Multi-step, graph-based processes supporting automatic compensations (rollbacks) if a step fails.

Built-in Actors: Ready-to-use patterns like rate limiters and cluster-wide cron jobs.

Deployments: Supports a Local topology (embedded directly into your Go app using SQLite or PostgreSQL) and a Remote topology (a standalone runtime cluster for larger deployments).




No comments: