This is the implementation for autonomous systems
, ALFP, year 2, West University of Timisoara.
The implementation features an actor system that implements a distributed database, as well as an HTTP server to interact with this database.
The following functionality is available and provided by the system:
- distributed storage across multiple partitions
- automatic recovery of failed actors and reloading of data, in order to avoid loss
The following functionality is provided:
PUT /data
- with query params key and value, add a piece of data at that specific key . If the key already existed, then the previous data is removed.GET /data
- query param key; gets the value at that key or an empty response in case nothing is thereDELETE /data
- query paramid
; allows the user to remove a piece of data from the collectionGET /actors
- get the names and last heartbeat time for all data storage actorsDELETE /actors
- query paramid
; cause the system to kill one of the actors, if the id is a correct one. The system will then discover that the actor is dead and proceed with replacing it with a new instanceGET /data/all
- get all data from all actors, grouped by partition into different lists
Design the architecture and a few functionalities.
Some questions:
- how and when is it noticed that data has been lost
- who, when and what must be done in order to finish the data
These at the presentation.
Cristian Schuszter, 2018 All rights reserved