You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Design a facility for services to persistently store and retrieve data regarding internal service state.
Intention
The facility is intended to support values like the last block verified, or the oldest block persisted.
This data is intended to be stored and accessed as simple key-value pairs, and to persist between application restarts.
The facility is intended to offer a simple interface to store and read values.
We intend to offer a message-based interface at some point, but might not implement that initially.
Considerations
Why not store everything in the server status service
Each service, including third-party plugins, may need to determine independently what to store, when to store, and when to read data.
Server status may listen for data stores and reads to detect values it is interested in, but the services should manage their own values.
Having a general facility allows services better control without requiring changes to the Status Service to accommodate other services.
Mixing this function into server status needlessly complicates that service.
Why not have each service manage its own data storage
Allowing (or encouraging) each service to store these small data values independently invites all manner of unexpected storage mechanisms and unnecessarily adds complexity to our own services.
Having this facility does not constrain service developers, but does offer a useful common functionality.
Technical Details
A direct call interface might include the following
ValueStored[String keyName, String StoredValue]
Any entity (not just the requesting entity and facility) can listen for the store/stored or retrieve/retrieved pairs and update its own in-memory state to reflect things like last known block or price lists.
The text was updated successfully, but these errors were encountered:
Goal
Design a facility for services to persistently store and retrieve data regarding internal service state.
Intention
The facility is intended to support values like the last block verified, or the oldest block persisted.
This data is intended to be stored and accessed as simple key-value pairs, and to persist between application restarts.
The facility is intended to offer a simple interface to store and read values.
We intend to offer a message-based interface at some point, but might not implement that initially.
Considerations
Technical Details
A direct call interface might include the following
A message-based interface might include the following
Messages listened for
Messages emitted
Any entity (not just the requesting entity and facility) can listen for the store/stored or retrieve/retrieved pairs and update its own in-memory state to reflect things like last known block or price lists.
The text was updated successfully, but these errors were encountered: