baidurpc是一种基于TCP协议的二进制高性能RPC通信协议实现。它以Protobuf作为基本的数据交换格式。 本版本基于golang实现.完全兼容jprotobuf-rpc-socket: https://github.com/Baidu-ecom/Jprotobuf-rpc-socket
- 内置连接池,具备更高的性能,低延迟 QPS: 5w+
- 支持自动重连功能[Done]
- 支持附件发送[Done]
- 支持超时功能[Done]
- 压缩功能,支持GZip与Snappy[Done]
- 集成内置HTTP管理功能[TODO]
- Client支持Ha的负载均衡功能[Done]
- 灵活的超时设置功能[Done] 基于timewheel实现
- 分包chunk支持,针对大数据包支持拆分包的发送的功能[Done]
- 支持Web管理能力以及内置能力[Done] 查看
- 支持同步发布为Http JSON协议[Done] [>= v1.2.0]
To start using pbrpc, install Go and run go get
:
$ go get github.com/baidu-golang/pbrpc
version | protobuf package |
---|---|
<= 1.2.x | github.com/golang/protobuf |
1.3.x | google.golang.org/protobuf |
FYI: 由于这两个pb类库并不是完全兼容,官方推荐使用 google.golang.org/protobuf
Quick Start(服务发布)
Quick Start(客户端调用)
同步发布http rpc服务
更多特性使用说明
Demo开发示例代码
brpc is Apache 2.0 licensed.