Building a Distributed Rate Limiter in Elixir with HashRing
This blog post was published on AppSignal: https://blog.appsignal.com/2025/02/04/building-a-distributed-rate-limiter-in-elixir-with-hashring.html
Written by Johanna Larsson. Thoughts on this post? Find me on Bluesky at @jola.dev .
Related posts
Migrating your Bluesky account the hard way
I used the goat command line tool to migrate my main Bluesky account to a new server and survived to tell the tale.
Cluster singleton pattern
You can register a process name globally in Elixir and OTP will ensure it's unique, but there are some surprising edge cases. This shows a pattern for safely defining cluster singletons.
cove.town, atproto self-hosted self-hosting
cove.town consists of a PDS, a knot, a spindle, and a hold, and is fully built on itself. The source code is hosted on the knot, updates trigger workflows running on the spindle that build container images hosted on the hold, and the accounts that own the services live on the PDS.