A grpc-based and flask-based fault-tolerant distributed key-value storage system implemented in Python .
open the cmd.exe and cd to the location of this repository
In grpc-based system, if you want to change the structure of the default protobuf,you can edit mykvserver.proto according to the standard given by https://developers.google.com/protocol-buffers/docs/proto3 .Then, compile the protobuf by executing
➜ ./compile.bat
The server is initialized with an index and an ip_list.txt
➜ ./setup.bat
The server is initialized with an index and an ip_list2.txt
➜ ./setup_grpc.bat
operation : put,get,del
put usage :
➜ python client.py put [address] [key] [value]
get usage :
➜ python client.py get [address] [key]
get del :
➜ python client.py get [address] [key]
Format:
address = http://ip:port
operation : put,get,del
put usage :
➜ python client.py put [address] [key] [value]
get usage :
➜ python client.py get [address] [key]
get del :
➜ python client.py get [address] [key]
Format:
address = ip:port
- https://raft.github.io/
- https://github.com/Oaklight/Vesper
- https://en.wikipedia.org/wiki/Raft_(computer_science)
- python >= 3.4
- grpcio==1.24.1
- Flask==1.0.2
- requests==2.20.0
- grpc==0.3-19
- protobuf==3.11.2
please email me [email protected]