srpc是搜狗自研的RPC系统,主要功能和特点如下:
这是一个基于SogouC++Workflow的项目,兼具:高性能低开发和接入门槛完美兼容workflow的串并联任务流对于已有pb/thrift描述文件的项目,可以做到一键迁移支持多种IDL格式,包括:ProtobufThrift支持多种数据布局,使用上完全透明,包括:ProtobufferserializeThriftBinaryserializejsonserialize支持多种压缩,使用上完全透明,包括:gzipzlibsnappylz4支持多种通信协议,使用上完全透明,包括:tcphttpsctpsslhttps用户可以通过http+json实现跨语言:如果自己是server提供方,用任何语言的httpserver接受post请求,解析若干httpheader即可如果自己是client调用方,用任何语言的httpclient发送post请求,添加若干httpheader即可内置了可以与其他RPC框架的server/client无缝互通的client/server,包括:BPRCThriftFramedBinaryThriftHttpBinary兼容workflow的使用方式:提供创建任务的接口来创建一个rpc任务可以把rpc任务放到任务流图中,回调函数里也可以拿到当前的任务流workflow所支持的其他功能,包括upstream、计算调度、异步文件IO等更多功能和层次介绍Installation
srpc是一个静态库libsrpc.a,只有开发环境需要依赖libsrpc,编译后二进制发布不需要依赖libsrpc库srpc依赖workflow和protobuf3protobuf需要用户自行安装v3.0.0以上的版本workflow可以通过git的submodule形式进行依赖压缩库snappy和lz4也以submodule的形式在third_party/中作源码依赖gitclone--recursivehttps://github.com/sogou/srpc.gitcdsrpcmakesudomakeinstall
评论