Skip to content

A light-weight RPC implement of google protobuf RPC framework.

License

Notifications You must be signed in to change notification settings

billtian/sofa-pbrpc

This branch is 1 commit ahead of, 332 commits behind baidu/sofa-pbrpc:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

0553a42 · Aug 19, 2014

History

34 Commits
May 28, 2014
Aug 19, 2014
Aug 19, 2014
Jul 3, 2014
Jun 5, 2014
Aug 19, 2014
Aug 19, 2014
May 21, 2014
Jul 3, 2014
May 21, 2014
May 21, 2014
Jun 1, 2014
May 24, 2014
Jul 3, 2014
Jul 3, 2014
May 21, 2014

Repository files navigation

sofa-pbrpc

A light-weight RPC implement of google protobuf RPC framework.

Wiki: https://github.com/BaiduPS/sofa-pbrpc/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.

Dependings

This lib depends on boost-1.53.0 (only need header), protobuf-2.4.1, snappy and zlib:

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:

Build

  1. Modify the 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.

Support

[email protected]

About

A light-weight RPC implement of google protobuf RPC framework.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 61.6%
  • C++ 36.2%
  • Perl 1.7%
  • Shell 0.5%