https://github.com/linux-china/rsocket_leveldb_server
RSocket LevelDB server
https://github.com/linux-china/rsocket_leveldb_server
leveldb rsocket
Last synced: 5 months ago
JSON representation
RSocket LevelDB server
- Host: GitHub
- URL: https://github.com/linux-china/rsocket_leveldb_server
- Owner: linux-china
- Created: 2018-09-13T18:48:57.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-06-18T00:41:54.000Z (over 6 years ago)
- Last Synced: 2025-09-24T23:55:21.816Z (6 months ago)
- Topics: leveldb, rsocket
- Language: C++
- Homepage:
- Size: 18.6 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
RSocket LevelDB Server
================
LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.
RSocket LevelDB server supplies RSocket interface to remote client.
### Why LevelDB with RSocket
* Remote access from other applications
* Easy to develop SDK for other languages: Java, Python, Node.js, C++ etc
* Cli? already support by rsocket-cli
### How to setup development env
Please use sail and take a look at .sail/Dockerfile
### RSocket protocol for LevelDB
* metadata's format is like levelDB's method + " " + key, such as "get nick", "delete nick"
* data is value. Get & delete method, value is empty string.
### Mac setup
```
$ cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include
$ sudo mv math.h math.h.bak
```
### Todo
* Sharding? sharding by key in different buckets
* Shutdown gracefully? Use fireAndForget() to trigger shutdown event, metadata is 'halt' and data is token
* RocksDB? almost same. https://github.com/facebook/rocksdb
# References
* leveldb: https://github.com/google/leveldb
* The gflags package contains a C++ library that implements commandline flags processing: https://github.com/gflags/gflags
* Folly: Facebook Open-source Library https://github.com/facebook/folly
* yarpl: Yet Another Reactive Programming Library https://github.com/rsocket/rsocket-cpp/tree/master/yarpl
* Google logging: https://github.com/google/glog