BRPC是百度内最常使用的工业级RPC框架, 有1,000,000+个实例(不包含client)和上千种多种服务, 在百度内叫作"baidu-rpc",是一个很是有价值的战斗级RPC框架。node
过多优点的介绍不是本文的重点,如下提供几个连接做为参考:android
因为brpc是使用C++编写的,目前官方并无提供比较友好的安装方式,须要clone官方提供的源码进行编译安装才能够运行。github
先给出官方文档-macos,供你们参考。数据库
虽然说官方文档写得确实不错,在C++老手看来是很是简单的,可是对于我这个Android出身,C++水平通常的人而言,光是编译安装就花了近3个小时才安装成功,下面我将一步一步讲解如何在Mac安装BRPC以及中间遇到的各类坑。macos
在安装前,百度也事先提醒了,当前Mac版本的性能比Linux版本差2.5倍,建议不要使用MacOS用做生产环境,不过这应该不影响我进行开发吧,哈哈~~apache
执行下面的命令,安装openssl、git、gnu-getopt、coreutils浏览器
brew install openssl git gnu-getopt coreutils
复制代码
执行下面的命令,安装gflags, protobuf, leveldbbash
brew install gflags protobuf leveldb
复制代码
brew install gperftools
复制代码
git clone https://github.com/google/googletest && cd googletest/googletest && mkdir bld && cd bld && cmake -DCMAKE_CXX_FLAGS="-std=c++11" .. && make && sudo mv libgtest* /usr/lib/ && cd -
复制代码
这里我使用的是执行
config_brpc.sh
脚本进行编译安装。
git clone https://github.com/apache/incubator-brpc.git
复制代码
$ sh config_brpc.sh --headers=/usr/local/include --libs=/usr/local/lib --cc=clang --cxx=clang++
$ make
复制代码
执行后你会发现编译各类报错。好了,下面我开始讲解编译过程当中遇到的各类坑:
至于如何使用homebrew安装指定版本的程序,我提供以下两种方法:
(1)通用方法
(2)终极方法
HDRS=/usr/local/Cellar/openssl/1.0.2r/include /usr/local/include/ /usr/local/include/node/
LIBS=/usr/local/Cellar/openssl/1.0.2r/lib /usr/local/lib
复制代码
解决了以上两个大坑后,基本是也就能编译成功了。
$ cd example/echo_c++
$ make
$ ./echo_server &
$ ./echo_client
复制代码
执行后,打开浏览器,输入localhost:8000
就能够看到服务器的状态了,以下图: