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
就能夠看到服務器的狀態了,以下圖: