欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

brpc搭建、编译和使用

程序员文章站 2024-01-10 21:38:25
...

前面介绍了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、结果

访问网页看下黑科技:http://10.96.97.115:8000/status

brpc搭建、编译和使用

brpc搭建、编译和使用

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

相关标签: Baidu-Rpc