brpc搭建、编译和使用

前面介绍了brpc的理解,这里给出brpc官方的搭建过程,以及提供的测试用例,对brpc的使用有一个宏观的理解。

PS:这里必须再次称赞百度工程师门,brpc开源的文档非常的丰富,仅仅是看文档都受益匪浅,同时提供了各个系统,各个版本的安装编译过程,安装编译文档可以通过以下链接直接查看:
https://github.com/brpc/brpc/blob/master/docs/cn/getting_started.md

这里给出本人成功安装编译的过程,供大家参考。

前期准备:
brpc需要依赖三个开源库:是gflags,protobuf和leveldb。gflags是用于像Linux命令行那样指定参数的,protobuf用于序列和反序列化以及它的 rpc定义。leveldb用来压缩的。

安装gflag见博客:google gflags 库完全使用
安装protobuf见博客:Protobuf安装步骤
安装leveldb见博客:Linux上搭建百度brpc框架

1、安装环境

系统是centos7
gcc版本是4.8.5
gflag是2.1.1
cmake是2.8.10
protobuf是3.6.1

2、安装依赖包

这里使用的都是yum直接安装,所以没有yum,请自己先下载yum并安装
安装依赖包的步骤如下:

#CentOS needs to install EPEL generally otherwise many packages are not available by default.
sudo yum install epel-release

#Install common deps:
sudo yum install git gcc-c++ make openssl-devel

#Install gflags, protobuf, leveldb:
sudo yum install gflags-devel protobuf-devel protobuf-compiler leveldb-devel

#If you need to enable cpu/heap profilers in examples:
sudo yum install gperftools-devel

#If you need to run tests, install and compile gtest-devel (which is not compiled yet):
sudo yum install gtest-devel
3、下载brpc源代码编译安装
git clone https://github.com/brpc/brpc.git
cd ./brpc/
sh config_brpc.sh --headers=/usr/include --libs=/usr/lib64 --nodebugsymbols
make
4、运行案例

这里百度给出了很多的案例,在git上,可以直接使用,这里使用的最简单的读写例子。
需要注意的是,这里提供了两种编译方式,一种是编译成静态库,一种是编译称为动态库。
百度提供了静态库的makefile,直接make即可,动态库需要加上动态链接标志。

关于动态、静态链接的区别,可以看这篇博客:Linux-动态链接与静态链接对比

静态链接
$ cd example/echo_c++
$ make
$ ./echo_server &
$ ./echo_client
动态链接
$ cd example/echo_c++
$ LINK_SO=1 make
$ ./echo_server &
$ ./echo_client

除此之外,百度还提供了cmake的编译方式,给的案例中包含了cmakelist,我们只需要下载cmake工具,然后让它自己加载源文件,同时生产makefile,最后在编译静态或者动态链接即可。

关于cmake工具的介绍与理解,可以看这篇博客:CMake简介

$ cd example/echo_c++
$ mkdir bld && cd bld && cmake .. && make
$ ./echo_server &
$ ./echo_client
5、结果

brpc搭建、编译和使用_第1张图片

6、参考

https://github.com/brpc/brpc/blob/master/docs/cn/getting_started.md
https://blog.csdn.net/breaksoftware/article/details/81564405
https://blog.csdn.net/okiwilldoit/article/details/82144578
https://blog.csdn.net/yinjun66/article/details/78512124?locationNum=4&fps=1

你可能感兴趣的:(brpc学习,brpc)