概述

之前在暑假有空学习了一下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库安装完毕!