如何在Mac上安裝BRPC

BRPC是百度內最常使用的工業級RPC框架, 有1,000,000+個實例(不包含client)和上千種多種服務, 在百度內叫作"baidu-rpc",是一個很是有價值的戰鬥級RPC框架。node

BRPC的優點

過多優點的介紹不是本文的重點,如下提供幾個連接做爲參考:android

BRPC的安裝

因爲brpc是使用C++編寫的,目前官方並無提供比較友好的安裝方式,須要clone官方提供的源碼進行編譯安裝才能夠運行。github

先給出官方文檔-macos,供你們參考。數據庫

雖然說官方文檔寫得確實不錯,在C++老手看來是很是簡單的,可是對於我這個Android出身,C++水平通常的人而言,光是編譯安裝就花了近3個小時才安裝成功,下面我將一步一步講解如何在Mac安裝BRPC以及中間遇到的各類坑。macos

安裝前的準備工做

在安裝前,百度也事先提醒了,當前Mac版本的性能比Linux版本差2.5倍,建議不要使用MacOS用做生產環境,不過這應該不影響我進行開發吧,哈哈~~apache

  1. 安裝通用的開發工具

執行下面的命令,安裝openssl、git、gnu-getopt、coreutils瀏覽器

brew install openssl git gnu-getopt coreutils
複製代碼
  1. 安裝BRPC依賴的工具

執行下面的命令,安裝gflags, protobuf, leveldbbash

brew install gflags protobuf leveldb
複製代碼
  • gflags:google的命令行參數解析工具
  • protobuf:google公司發佈的一套開源編碼規則,基於二進制流的序列化傳輸工具。
  • leveldb:google實現的很是高效的kv數據庫。
  1. 安裝性能檢測工具gperftools(可選)
brew install gperftools
複製代碼
  1. 安裝單元測試工具googletest(可選)
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腳本進行編譯安裝。

  1. clone brpc
git clone https://github.com/apache/incubator-brpc.git
複製代碼
  1. cd進入源碼目錄,執行以下命令
$ sh config_brpc.sh --headers=/usr/local/include --libs=/usr/local/lib --cc=clang --cxx=clang++
$ make
複製代碼

在mac上編譯遇到的坑

執行後你會發現編譯各類報錯。好了,下面我開始講解編譯過程當中遇到的各類坑:

  • 檢查一下你安裝的protobuf的版本,若是>3.6.1,請先進行降級處理。

至於如何使用homebrew安裝指定版本的程序,我提供以下兩種方法:

(1)通用方法

(2)終極方法

  • 檢查openssl版本,若是是1.0.2r版本,那麼請你修改config.mk文件,手動添加openssl的目錄:
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就能夠看到服務器的狀態了,以下圖:

在這裏插入圖片描述

拓展閱讀

聯繫方式

在這裏插入圖片描述

微信公衆號

在這裏插入圖片描述
相關文章
相關標籤/搜索