superfly / corrosion

Gossip-based service discovery (and more) for large distributed systems.
https://superfly.github.io/corrosion/
Apache License 2.0
684 stars 21 forks source link

Explore priority broadcasts #148

Open jeromegn opened 8 months ago

jeromegn commented 8 months ago

Broadcasts are all treated the same in Corrosion right now. However, nodes will broadcast their local changes to neighboring nodes immediately instead of randomly and eventually.

A concept of "priority" could be added for broadcasts to neighboring nodes.

When a node receives a priority broadcast, it should apply it immediately instead of queueing it to later batch insert it with other changes.

This is useful for faster eventual consistency "where it matters". It's likely a client interacting with a Corrosion node will be affecting data required on another node in close proximity.