概述
之前在暑假有空學習了一下mprpc專案,這是一個基於陳碩大佬寫的muduo庫、protobuf的分散式rpc框架,現在想整理一下內容(眾所周知,學了不整理等於白學)
技術棧
- 叢集和分散式概念以及原理
- RPC遠端過程呼叫原理以及實現
- Protobuf資料序列化和反序列化協議
- Protobuf資料序列化和反序列化協議
- ZooKeeper分散式一致性協調服務應用以及程式設計
- muduo網路庫程式設計
- conf配置檔案讀取
- 非同步日誌
- CMake構建專案整合編譯環境
- github管理專案
- C++11新特性(thread、bind等)
專案環境
ubuntu22.04(muduo、boost、Zookeeper)、VSCode
環境安裝
boost庫安裝
1、去boost官網下載原始碼
2、解壓安裝
tar -zxvf boost_1_86_0.tar.gz
# 進入目錄
cd boost_1_86_0/
# 執行bootstrap.sh工程編譯構建程式,需要等待一會兒
./bootstrap.sh
# 原始碼根目錄下生成了b2程式,執行b2程式如下
./b2
安裝成功會出現這樣
最後,再把上面的boost庫標頭檔案和lib庫檔案安裝在預設的Linux系統標頭檔案和庫檔案的搜尋路徑下,執行下面命令(因為要給/usr目錄下複製檔案,需要先進入root使用者)
root@hf-virtual-machine:/home/hf/Env/boost_1_86_0# ./b2 install
安裝成功會列印如下資訊
3、驗證安裝是否成功(使用一下C++11的bind()函式)
#include <iostream>
#include <boost/bind.hpp>
#include <string>
using namespace std;
class Print
{
public:
void print(string name)
{
cout << name << " is learning Cpp!" << endl;
}
};
int main()
{
Print p;
auto func = boost::bind(&Print::print, &p, "hao fei");
func();
return 0;
}
編譯執行後輸出
至此,boost庫安裝完畢!