Components Of Hydra - hydra-hoard/hydra GitHub Wiki
The Hydra Software will consist of the following components
Hydra will be based on the concept of nodes. The entire network of Hydra nodes will form the Hydra network.
Hydra Node
Each Hydra Node will keep a hash table that keeps track of all the hydra nodes nearest to itself. This shall be implemented using the popular BitTorrent Distributed Hash Table algorithm called Kademlia.
This Hydra Node will have the following capabilities.
Server and Client
To enable Hydra to be truly decentralised , each node should be able to support being both a server and a client. The networking for this will be handled using the combination of GRPC and Protobuf. This enables us to transfer data very efficiently via HTTP/2.0.
DHT
The distributed hash table on each node will be an in memory , persistent data store ala Redis. This data store will support automatic recovery via a transaction log and periodic snapshotting . We shall strive for 99.999% availability.