Fri Jul 14 13:55:45 EDT 2017
embracing events and distributed caches
Coming from an FP world, I've been trying to avoid "distributed state"
for a while. In reality, it is not possible to get rid of it
altogether, so best to embrace it.
Locally, it's possible to perform state updates in a more orchestrated
way to avoid untractable event propagation patterns. E.g. this is
what ReactJS does: change the granularity of the message/object
Basically, this comes up a lot:
- Thing goes live, queries other things for current state and
registers a notifier.
- Notifications come in and local cache/representation is updated,
possibly notifying other things it has registered as listeners.
The source of this problem is that it is much too expensive to
transfer the entire state from one (physical) spot to another, if only
a subset is needed on the receiver or only a subset has changed on the
Incremental updates are a very important behavioral pattern that looks
as if it is an optimization, but is so extremely inefficient when not
performed, it presents itself more often as an explicit feature or