srpc 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
srpc 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议: Apache-2.0
开发语言: C/C++
操作系统: 跨平台
收录时间: 2020-10-12
提 交 者: 白开水不加糖

srpc 是搜狗自研的 RPC 系统,主要功能和特点如下:

  • 这是一个基于Sogou C++ Workflow的项目,兼具:
    • 高性能
    • 低开发和接入门槛
    • 完美兼容workflow的串并联任务流
    • 对于已有pb/thrift描述文件的项目,可以做到一键迁移
  • 支持多种IDL格式,包括:
    • Protobuf
    • Thrift
  • 支持多种数据布局,使用上完全透明,包括:
    • Protobuffer serialize
    • Thrift Binary serialize
    • json serialize
  • 支持多种压缩,使用上完全透明,包括:
    • gzip
    • zlib
    • snappy
    • lz4
  • 支持多种通信协议,使用上完全透明,包括:
    • tcp
    • http
    • sctp
    • ssl
    • https
  • 用户可以通过http+json实现跨语言:
    • 如果自己是server提供方,用任何语言的http server接受post请求,解析若干http header即可
    • 如果自己是client调用方,用任何语言的http client发送post请求,添加若干http header即可
  • 内置了可以与其他RPC框架的server/client无缝互通的client/server,包括:
    • BPRC
    • Thrift Framed Binary
    • Thrift Http Binary
  • 兼容workflow的使用方式:
    • 提供创建任务的接口来创建一个rpc任务
    • 可以把rpc任务放到任务流图中,回调函数里也可以拿到当前的任务流
    • workflow所支持的其他功能,包括upstream、计算调度、异步文件IO等
  • 更多功能和层次介绍

Installation

  • srpc是一个静态库libsrpc.a,只有开发环境需要依赖libsrpc,编译后二进制发布不需要依赖libsrpc库
  • srpc依赖workflow和protobuf3
    • protobuf需要用户自行安装v3.0.0以上的版本
    • workflow可以通过git的submodule形式进行依赖
    • 压缩库snappy和lz4也以submodule的形式在third_party/中作源码依赖
git clone --recursive https://github.com/sogou/srpc.git
cd srpc
make
sudo make install
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

srpc 的相关博客

搜狗开源srpc,C++通用RPC框架

今年 7 月底,搜狗公司开源了内部的工业级 C++ 服务器引擎 Workflow。现如今,搜狗又宣布开源 Workflow 的生态项目——srpc,...

由hadoop ipc启发,改写的流式RPC

hadoop ipc的特点及缺点已经在 "hadoop ipc原理解析"中提过,它并不适合流式数据的调用,所以流式RPC组件是为了解决该问题。...

RPC框架实现(一) Protobuf的rpc实现

概述 RPC框架是云端服务基础框架之一,负责云端服务模块之间的项目调用,类似于本地的函数调用一样方便。常见的RPC框架配带的...

RPC框架实现(一) Protobuf的rpc实现

概述 RPC框架是云端服务基础框架之一,负责云端服务模块之间的项目调用,类似于本地的函数调用一样方便。常见的RPC框架配带的...

送给刚毕业的同学——7点建议

前几天跟我的一个下属聊天,刚刚毕业的校招生,进入公司还没3个月。当问到他对自己未来规划的时候,能明显看到她略显迟疑,露...

srpc 的相关问答

还没有任何问答,马上提问

评论 (4)

加载中
都是库,没解决方案,没啥优势
10/16 00:11
回复
举报
看到pb就不想用了
10/15 11:21
回复
举报
和其他rpc框架对比有何优势
10/15 10:20
回复
举报
增加就业岗位
10/16 13:38
回复
举报
更多评论
4 评论
21 收藏
分享
返回顶部
顶部