Add nodes for a measured reason
Multiple Daptin processes add coordination, network, rollout, and failure modes. First make the database and file storage durable, put one instance behind health-aware routing, and measure the capacity or availability need that another node addresses.
Configure Olric discovery and ports
Daptin uses embedded Olric for shared cache, PubSub, and counters.
Configure peers with -olric_peers as comma-separated
host:membership_port values, or use
-olric_seed for hostname-based discovery. Set
-olric_port when automatic derivation is unsuitable;
membership uses the following port. Choose
-olric_env for the intended local, LAN, or WAN network
profile and restrict these ports to cluster members.
./daptin \
-port=:6336 \
-olric_port=5336 \
-olric_peers=node-a.internal:5337,node-b.internal:5337 \
-olric_env=lan
Give every node the same application schema, database, compatible configuration, and access to the intended file storage. Do not use one writable SQLite file as a shared multi-node database.
Know what is shared and what can degrade
| Concern | Cluster role | Failure question |
|---|---|---|
| Cache | Reduces repeated reads and coordinates invalidation. | Can stale/local fallback change behavior during partition? |
| PubSub | Carries realtime and internal notifications between nodes. | What live updates are delayed or lost when coordination fails? |
| Rate counters | Shares configured request counts across healthy nodes. | Does fallback multiply the effective allowance per process? |
| Background work | Leases/deduplication coordinate eligible workers. | Can retries or failover repeat an external side effect? |
Test normal and degraded operation
- Start at least two nodes and confirm cluster membership in logs.
- Write through one node and read through another using the shared database.
- Subscribe through one node and produce a relevant event through another.
- Exercise a shared rate limit across both routes.
- Stop one node, interrupt a peer path, and observe requests, counters, events, and background work.
- Restore the node and verify convergence before declaring recovery.
