🌌 Road to Version 1.0
This milestone item collects other / smaller features for the current epic, which the NeonBee committers agreed on implementing, but did not fit into any existing milestone and / or putting them in an own milestone item is not sufficient.
- Data models should be distributed via the event bus to all connected cluster nodes, so that models can act as a type-safe structured way of communication between the different nodes in the cluster. At the moment uploaded models are only managed on one node of the cluster. The
ModelManager
should be extended by a versioning and distribution capabilities for data models in the cluster. - Add a prepare and post write phase to
DataVerticle
similar to the existing require data phase, for read requests. This can be later utilized for a built-in local / global / saga transaction handling. - Add a built-in mechanism for short term result caching in the request chain e.g. via the context / in-memory or third party integrations, like an external Redis database.
- Stringify profiles. At the moment profiles can be used to run a certain subset of verticles on a certain node of a cluster. Currently the profiles to be used is part of a fixed enumeration. It would be more sufficient if profiles can be freely chosen using a string, as the given enumeration values are limiting this concept severely.
- Optimize bootstrapping process, which currently sometimes even blocks during startup.
- Implement stop() for EntityVerticles.
- Impossible to send a manipulate data requests for an entity in case multiple EntityVerticles provide the same Entity.