Date: 23.08.2019
accepted
Up to now Ditto used Akka's distributed publish/subscribe in order to emit e.g. ThingEvent
s to interested other services:
That naive approach works, but does not provide horizontal scalability:
ThingEvent
s gets all of them, regardless of whether someone is actually interested in themThingEvent
and discard if not relevantWe will implement a custom Ditto pub/sub which
ThingEvent
s only to service instances where at least one consumer consumes the eventThe event publishing is no longer implemented by a proven and stable Akka feature but lies in our own responsibility. This has upsides (we can implement it just the way we need it) as well as downsides (we might add bugs which were not).
The consequence for horizontal scalability is that the event publishing should as well - like the rest of Ditto - be horizontally scalable.