rgo # Meteora
Meteora is a distributed key-value store written in Rust built on top of RocksDB and implemented by The Raft Consensus Algorithm and The gRPC.
Achieves consensus across all the nodes, ensures every change made to the system is made to a quorum of nodes.
Meteora makes easy for programmers to develop an applications with advanced features and high availability.
The following products are required to build Meteora:
- Rust: >= 1.42.0
- make: >= 3.81
- protoc >= 3.6.1
- rocksdb >= 5.18.3
Protobuf is needed only for code generation, rust-protobuf runtime does not use protobuf library.
Installl protoc-gen-rust program (which is protoc plugin) as follows"
% cargo install --version 2.22.1 protobuf-codegen
% cargo install --version 0.5.0 grpcio-compilerBuild Meteora with the following command:
$ make buildWhen the build is successful, the binary file is output to the following directory:
$ ls ./binRunning node in standalone mode is easy. You can start node with the following command:
$ ./bin/meteora startYou can set data with the following command:
$ ./bin/meteora put key1 "Meteora is a distributed key-value store."You can get data with the following command:
$ ./bin/meteora get key1You'll see the result of the above command like follows:
Meteora is a distributed key-value store.
You can delete data with the following command:
$ ./bin/meteora delete key1