Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/baidu/sofa-pbrpc
A light-weight RPC implement of google protobuf RPC framework.
https://github.com/baidu/sofa-pbrpc
Last synced: about 1 month ago
JSON representation
A light-weight RPC implement of google protobuf RPC framework.
- Host: GitHub
- URL: https://github.com/baidu/sofa-pbrpc
- Owner: baidu
- License: other
- Created: 2014-03-26T07:21:11.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2023-08-24T08:55:55.000Z (about 1 year ago)
- Last Synced: 2024-06-20T14:21:41.869Z (3 months ago)
- Language: C++
- Homepage:
- Size: 6.9 MB
- Stars: 2,122
- Watchers: 269
- Forks: 656
- Open Issues: 52
-
Metadata Files:
- Readme: README
- Changelog: CHANGES
- License: LICENSE
- Authors: AUTHORS
Awesome Lists containing this project
README
sofa-pbrpc
----------
A light-weight RPC implement of protobuf RPC framework.Wiki: .
Features
--------
* High performace.
* Easy to use. Refer to sample codes in './sample'.
* Support sync call and async call. Refer to './sample/echo'.
* Support three level (service/method/request) timeout. Refer to './sample/timeout_sample'.
* Support transparent compression. Refer to './sample/compress_sample'.
* Support mock test. Refer to './sample/mock_sample'.
* Support network flow control.
* Support auto connecting and reconnecting.
* Support keep alive time of idle connections.
* Support statistics for profiling.
* Support multi-server load balance and fault tolerance.
* Support http protocol.
* Provide web monitor.
* Provide python client library.Dependings
----------
The lib depends on boost-1.53.0 (only need header), protobuf-2.4.1, snappy and zlib:
boost - http://www.boost.org/
protobuf - https://github.com/google/protobuf
snappy - https://github.com/google/snappy
zlib - http://zlib.net/ATTENTION: boost header is only needed when compiling the lib, but no need for user code.
Extrally, './unit-test' and './sample/mock_sample' also depends on gtest:
gtest - https://github.com/google/googletestBuild
-----
1, Modify file './depends.mk' to specify depending libs.
The necessary libs is boost, protobuf, snappy and zlib.
2, Run 'make' to build sofa-pbrpc.
The default optimization level is 'O2'.
To change it, modify the 'OPT' variable in file './Makefile'.
3, Run 'make install' to install sofa-pbrpc.
The default install directory is './output'.
To change it, modify the 'PREFIX' variable in file './Makefile'.For more details, please refer to the wiki.
Sample
------
For sample codes, please refer to './sample' and the wiki.Performance
-----------
For performace details, please refer to the wiki.Implementation
-----------
For implementation details, please refer to the wiki and file 'doc/sofa-pbrpc-document.md'.Support
-------
[email protected]