Swarm is a distributed process registry for Elixir/Erlang that lets you register and discover processes across a cluster as if they were on a single node. It focuses on automatic distribution and rebalancing, so when nodes join or leave, Swarm can move work and hand off state to keep the system stable. The library offers a global name registry, conflict resolution for name ownership, and hooks for reacting to membership changes. Its design embraces OTP principles, using supervised processes and fault-tolerant messaging to keep the registry resilient under failures. Developers can co-locate Swarm with their existing supervision trees to scale workers horizontally without writing custom clustering code. Typical use cases include globally unique workers, sharded consumers, and presence-like coordination where node churn is expected. By turning registry and handoff into configuration and callbacks, Swarm reduces the complexity of multi-node deployments.

Features

  • Distributed global process registry across clusters
  • Automatic distribution and reassignment of worker processes
  • Handles dynamic node membership gracefully
  • High scalability for large numbers of process registrations
  • Avoids issues of leader‑election-based registries like global or gproc
  • Provides API functions

Project Samples

Project Activity

See All Activity >

Categories

Clustering

Follow Swarm

Swarm Web Site

Other Useful Business Software
Auth0 for AI Agents now in GA Icon
Auth0 for AI Agents now in GA

Ready to implement AI with confidence (without sacrificing security)?

Connect your AI agents to apps and data more securely, give users control over the actions AI agents can perform and the data they can access, and enable human confirmation for critical agent actions.
Start building today
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Swarm!

Additional Project Details

Programming Language

Elixir

Related Categories

Elixir Clustering Software

Registered

2025-09-01