-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Description
Cluster
Pro:
- Load balancing happens by kernel/Node.js distributing UDP messages across all sockets listening on the same host:port.
- No per-query IPC.
- Scales horizontally even with a single DoH upstream.
- Simpler design. Every cluster worker is an independent "master." Without the message passing and state management between threaded master/workers.
Con:
- One HTTP/2 session per origin per worker. Potentially less efficient on the network than re-using the same session.
Worker Threads
Pro:
- Single HTTP/2 session per DoH resolver.
- Shiny new API.
Con:
- Wasted IPC on single-core CPU of Raspberry Pi or restricted Docker.
- Fixed overhead of IPC between worker/master.
- Cloning buffers is slower than expected. Sharing memory may be better but hard to measure performance (no support yet in Clinic.js).
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels