当前位置: 首页 > 工具软件 > sofa-pbrpc > 使用案例 >

Centos 下 C++ 百度开源框架 sofa-pbrpc环境搭建

越伟泽
2023-12-01

Linux 下 C++百度开源框架 sofa-pbrpc环境搭建

sofa-pbrpc 是百度内部使用的c++开源网络框架。sofa-pbrpc使用Boost::Asio作为其网络层实现,采用protobuf作为数据打包格式和异步通信框架。

sofa-pbrpc的设计目标:

  • 轻量
  • 易用
  • 高性能

sofa-pbrpc的特性:

  • 接口简单,容易使用
  • 实现高效,性能优异
  • 测试完善,运行稳定
  • 支持同步和异步调用
  • 支持多级超时设定
  • 支持精准的网络流量控制,对应用层透明
  • 支持透明压缩传输,节省带宽
  • 提供服务和方法级别的服务调用统计信息,方便监控
  • 支持自动建立连接和自动重连,用户无需感知连接
  • 远程地址相同的Client Stub 共享一个连接通道, 节省资源
  • 空闲连接自动关闭,及时释放资源
  • 支持Mock测试
  • 支持多Server负责均衡和容灾
  • 原生支持Http协议访问
  • 提供内建的Web监控页面
  • 提供Python客户端

Centos 6.3 系统搭建

  • 编译依赖
  • 编译
  • 安装
  • 单元测试
  • 使用样例

编译依赖

  • Boost-1.53.0
    – 下载地址:
    http://downloads.sourceforge.net/project/boost/boost/1.53.0/boost_1_53_0.tar.gz 因为只需要使用boost的头文件, 所以解压即可, 无需编译。我们此时需要修改“depends.mk”,将BOOST_HEADER_DIR设置为解压得到的boost文件夹路径,譬如:
    BOOST_HEADER_DIR=/home/work/libs/boost_1_53_0
  • Protobuf 2.4.1
    – 下载地址:
    http://protobuf.googlecode.com/files/protobuf-2.4.1.tar.gz , 编译protobuf的步骤:
    – 解压,cd到加压的文件夹下
    – ./configure –prefix=$PWD/output
    – make && make install
    配置:修改”Depend.mk”, 将PROTOBUF_DIR设置为编译输出文件夹路径,譬如:
    PROTOBUF_DIR=/home/work/libs/protobuf-2.4.1/output
  • Snappy
    – 下载地址 http://snappy.googlecode.com/files/snappy-1.1.1.tar.gz, 编译如下:
    – 加压,cd到文件夹下
    – ./configure –prefix=$PWD/output
    – make && make install
    配置, 修改 “depend.mk”, 将SNAPPY_DIR设置为编译输出文件夹路径,譬如:
    SNAPPY_DIR=/home/work/libs/snappy-1.1.1/output
  • Zlib
    – 如果你的系统中安装了zlib, 请直接跳过。
    – 下载地址: http://zlib.net/zlib-1.2.8.tar.gz
    – 编译:
    – 解压
    – ./configure –prefix-=$PWD/output
    – make && make install
    – 配置: 修改 “Depends.mk”, 将ZLIB_DIR设置为编译输出文件夹路径,例如:
    ZLIB_DIR=/home/work/libs/zlib-1.2.8/output

编译、安装

make && make install, 默认会安装到output/bin目录下。安装的文件包括:
- include
- lib/libsofa-pbrpc.a
- bin/sofa-pbrpc-client

使用样例

进入sample文件夹
使用的sample共有四个,echo/timeout_sample/compress_sample/mock_sample

 类似资料: