Skip to content
/ brpc Public
forked from apache/brpc

Most common RPC framework used throughout Baidu, with 600,000+ instances and 500+ kinds of services, called "baidu-rpc" inside Baidu.

License

Notifications You must be signed in to change notification settings

luwei16/brpc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The opensource version of baidu-rpc

# BUILD

baidu-rpc prefers static linking if possible, so that deps don't have to be installed on every
machine running the code. 

## Ubuntu/LinuxMint/WSL
### compile
1. install common deps: git g++ make libssl-dev
2. install gflags protobuf leveldb: libgflags-dev libprotobuf-dev libprotoc-dev protobuf-compiler libleveldb-dev. If you need to statically link leveldb, install libsnappy-dev as well.
3. git clone this repo. cd into the repo and run
```
$ sh config_brpc.sh --headers=/usr/include --libs=/usr/lib
```
4. make

### run example
```
$ cd example/echo_c++
$ make
$ ./echo_server &
$ ./echo_client
```

### run examples with cpu/heap profilers
Install libgoogle-perftools-dev and re-run config_brpc.sh before compiling

### compile tests
Install gmock and gtest, use the gtest embedded in gmock and don't install libgtest-dev
```
$ sudo apt-get install google-mock
$ cd /usr/src
$ sudo cmake .
$ sudo make
$ sudo mv lib*.a gtest/lib*.a /usr/lib
$ sudo mv gtest/include/gtest /usr/include/
```
Rerun config_brpc.sh and run make in test/

## Baidu-internal

### compile
1. download `third-64/gflags@gflags_2-0-0-100_PD_BL` `third-64/protobuf@protobuf_2-4-1-1100_PD_BL` `third-64/leveldb@leveldb_1-0-0-0_PD_BL`
2. git clone this repo. cd into the repo and run
```
$ sh config_brpc.sh --headers=../../../third-64 --libs=../../../third-64
```
3. make

### run examples with cpu/heap profilers
download `third-64/tcmalloc@tcmalloc_1-7-0-200_PD_BL` and Rerun config_brpc.sh

# Supported deps

GCC: 4.8-7.1

Clang: 3.5-4.0

glibc: 2.12-2.25

protobuf: 2.4-3.2

gflags: 2.0-2.21

openssl: 0.97-1.1

tcmalloc: 1.7-2.5

About

Most common RPC framework used throughout Baidu, with 600,000+ instances and 500+ kinds of services, called "baidu-rpc" inside Baidu.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 98.1%
  • Protocol Buffer 0.7%
  • C 0.4%
  • Makefile 0.3%
  • Objective-C++ 0.2%
  • Shell 0.2%
  • Objective-C 0.1%