Modules
A cache in memory, on each node. ≈ Redis / Memcached used as a cache — but it lives inside the app (Cachex), so a read costs no network trip.
Keeps the node's cache in step with the others: removes keys that another
node deleted (Dandelion.Cache.delete/1), and empties the cache when a node
joins — the two sides may have missed each other's deletes while apart.
Nodes finding each other. ≈ service discovery (Consul, Kubernetes DNS).
A libcluster strategy: nodes find each other through a Postgres channel.
The database changes dandelion needs, called from your own migration — the
way Oban.Migration is
Durable pub/sub: a topic, and the workers that each get every event. ≈ Google Pub/Sub topics with subscriptions, or Kafka consumer groups.
The Oban setup of a dandelion app: what queues exist, the schedule, and how a job left by a dead node is given back.
A queue that keeps order per key. ≈ SQS FIFO message groups, Kafka partitions, Pub/Sub ordering keys.
Mix Tasks
Adds one resource to a domain of a dandelion project, in the layout the
project already uses — the way you'd copy shop and rename it, done for you.