sofa-pbrpc使用Boost::Asio作为其网络层实现,采用google protobuf RPC实现的一款轻量级的RPC框架,另外其还依赖于zlib和snappy两个数据压缩库。需要注意的是,boost头文件仅仅在编译lib库的时候是需要的,对用户的代码是不需要的。另外还需要注意,./unit-test和./sample/mock_sample也依赖于gtest:http://code.google.com/p/googletest/。
各个库的文件目录是需要在safa-pbrpc/depends.mk中配置的。
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
2.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
3.
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
4.
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