Skip to content
/ brpc Public
forked from apache/brpc

brpc is an Industrial-grade RPC framework using C++ Language, which is often used in high performance system such as Search, Storage, Machine learning, Advertisement, Recommendation etc. "brpc" means "better RPC".

License

Notifications You must be signed in to change notification settings

lqxhub/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

brpc is an Industrial-grade RPC framework using C++ Language, which is often used in high performance system such as Search, Storage, Machine learning, Advertisement, Recommendation etc. "brpc" means "better RPC".

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 94.4%
  • CMake 1.6%
  • Perl 1.3%
  • Makefile 0.6%
  • Starlark 0.5%
  • C 0.5%
  • Other 1.1%