Since the last milestone of Eclipse Ditto 0.3.0-M1, the following changes, new features and bugfixes were added.
Changes
Reduce network load for cache-sync
With 0.3.0-M1 Ditto had a performance issue when managing more than ~100.000 Things in its memory as Ditto used a distributed cluster cache which was not intended to be used in that way. Over time, as cache entries could not be deleted from this cache, a Ditto cluster got slower and slower.
This is fixed now in 0.3.0-M2 by introducing a new Ditto service: “ditto-concierge” which is also shown in the architecture overview.
This is the biggest change in this milestone and required a lot of refactoring effort. Kudos to our two committers Daniel and Yufei who did an amazing job: the roundtrip times in a Ditto cluster are now at a constant and very good rate.
Cluster bootstrapping improved
Ditto now uses the akka-management library in order to bootstrap a new cluster. By default Ditto now uses a DNS-based approach to find its other cluster-nodes and bootstrap a not yet formed cluster. This works very well for Docker (and Docker swarm) based clusters.
The benefit is also that the containers no longer need to be started in a specific order and with delay.
Future versions could also benefit from the other bootstrapping mechanisms for kubenertes
, mesos
or ec2
(AWS)
environment.
New features
No new features for this milestone.
Bugfixes
Search index fixes
The search-index of the Ditto search had several issues which lead to a poor query performance when searching for Things.
These issues were adressed in several fixes:
Various smaller bugfixes
This is a complete list of the merged pull requests.