6. DLite Durability Service¶
DLite is the next generation improved durability service that complies with DDS Persistence Profile. DLite has a more fundamental approach of maintaining eventual consistency by two way trivial merging of data. This results in a better performance, scalability and out of the box experience. DLite can be configured instead of the existing Durability service.
6.1. Improvements in DLite¶
- Improved scalability
Implement differential alignment
Support eavesdropping on alignment
Implement alignment scheduling
- Improved configuration
better structured and well defined defaults.
better consistency by keeping deceased instances by default
global decoupling by Interest based alignment and provisioning
- Improved maintainability and functionality
Topic based control and monitoring
Code and complexity reduction
Improved Scalability and stress testing
6.2. Migration Impact¶
Durability Dependencies instead of a Master Durability service
Affects persistent data set selection
Affects waitForHistoricalData
More flexibility
Local interest scopes instead of globally defined Namespaces
Replaces merge policies
Replaces aligner, alignee and durability policies
A basic migration tool that allows the import of old durability stores is available, see durability_migrate: Durability to DLite Migration.
6.3. Wait for historical data¶
The behaviour of the wait_for_historical_data operation behaves similar as before, meaning that it will wait until the state of all alive fellows is aligned.
However for DLite this operation has some additional features:
it can also wait for configured dependencies. A dependency is a fellow that must be available, when not the wait_for_historical_data will not return.
it can be used continuously, meaning that it will block during alignment when new fellows join the network.
6.4. Configuration¶
There is a detailed description of the available configuration parameters and their purpose in the Configuration section, starting at the section on //OpenSplice/DLite
.