Skip to content

Commit

Permalink
Merge branch 'master' into add_image
Browse files Browse the repository at this point in the history
  • Loading branch information
cyshi committed Nov 17, 2016
2 parents bfce74a + 77c64a9 commit bc1b596
Show file tree
Hide file tree
Showing 167 changed files with 444 additions and 375 deletions.
3 changes: 1 addition & 2 deletions INSTALL
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,5 @@ Currently, sofa-pbrpc only support x86_64 platform, Linux OS, and GCC.
The default install directory is './output'.
To change it, modify the 'PREFIX' variable in file './Makefile'.

For any build problem, please contact <qinzuoyan01@baidu.com> or
<qinzuoyan@gmail.com>.
For any build problem, please contact <opensearch@baidu.com>.

4 changes: 4 additions & 0 deletions README
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,10 @@ 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
-------
opensearch@baidu.com
Expand Down
49 changes: 23 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,42 +1,43 @@
sofa-pbrpc
==========
[![Build Status](https://travis-ci.org/baidu/sofa-pbrpc.svg)](https://travis-ci.org/baidu/sofa-pbrpc)
[![Join the chat at https://gitter.im/sofa-pbrpc/rpc](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/sofa-pbrpc/Lobby?utm_source=share-link&utm_medium=link&utm_campaign=share-link)

A light-weight RPC implement of google protobuf RPC framework.
A light-weight RPC implementation of Google's protobuf RPC framework.

Wiki: https://github.com/baidu/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.
* Support http protocol.
* Provide web monitor.
* Provide python client library.

### Dependings
* Easy to use. Refer to sample code in './sample'.
* Supports sync call and async call. Refer to './sample/echo'.
* Supports three level (service/method/request) timeout. Refer to './sample/timeout_sample'.
* Supports transparent compression. Refer to './sample/compress_sample'.
* Supports mock test. Refer to './sample/mock_sample'.
* Supports network flow control.
* Supports auto connecting and reconnecting.
* Supports keep alive time of idle connections.
* Supports statistics for profiling.
* Supports multi-server load balance and fault tolerance.
* Supports http protocol.
* Provides web monitor.
* Provides python client library.

### Dependencies
This lib depends on boost-1.53.0 (only need header), protobuf-2.4.1, snappy and zlib:
* boost - http://www.boost.org/
* protobuf - http://code.google.com/p/protobuf/
* snappy - http://code.google.com/p/snappy/
* zlib - http://zlib.net/

ATTENTION: boost header is only needed when compiling the lib, but no need for user code.
ATTENTION: boost header is only needed when compiling the lib, but is not needed for user code.

Extrally, './unit-test' and './sample/mock_sample' also depends on gtest:
* gtest - http://code.google.com/p/googletest/

### Build
1. Modify the file './depends.mk' to specify depending libs.<br>
The necessary libs is boost, protobuf, snappy, and zlib.
The necessary libs are boost, protobuf, snappy, and zlib.
2. Run 'make' to build sofa-pbrpc.<br>
The default optimization level is 'O2'.<br>
To change it, modify the 'OPT' variable in file './Makefile'.
Expand All @@ -47,17 +48,13 @@ Extrally, './unit-test' and './sample/mock_sample' also depends on gtest:
For more details, please refer to the wiki.

### Sample
For sample codes, please refer to './sample' and the wiki.
For sample code, 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](doc/sofa-pbrpc-document.md).

### Support
opensearch@baidu.com

### User List
If sofa-pbrpc is used in your product, please record your user information in the belowing table with a new line,
so that communication between users can be more convenient, and new features will be better notified.

| company | product line | cluster scale | owner | recommendation |
| -------:| ------------:| -------------:| -----:| --------------:|
Binary file added doc/image/arch.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/image/basic_arch.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/image/flow-controller-result.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/image/flow-controller.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/image/network-arch.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/image/readbuf.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/image/rpc-compress.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/image/rpc-header.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/image/rpc-interface.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/image/rpc-thread-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/image/rpc-thread-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/image/sofa-interface.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/image/stream_layer.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/image/timeout-manager.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/image/writebuf.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit bc1b596

Please sign in to comment.