MCPcopy Index your code
hub / github.com/baidu-golang/pbrpc

github.com/baidu-golang/pbrpc @v1.4.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.4.0 ↗ · + Follow
443 symbols 1,196 edges 35 files 198 documented · 45% updated 2y agov1.3.1 · 2021-08-26★ 729 open issues

Browse by type

Functions 380 Types & classes 63
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

baidurpc

baidurpc是一种基于TCP协议的二进制高性能RPC通信协议实现。它以Protobuf作为基本的数据交换格式。 本版本基于golang实现.完全兼容jprotobuf-rpc-socket: https://github.com/Baidu-ecom/Jprotobuf-rpc-socket

Go Report Card Go codecov Releases Go Reference LICENSE

features:

  • 内置连接池,具备更高的性能,低延迟 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] ​

Installing

To start using pbrpc, install Go and run go get:

$ go get github.com/baidu-golang/pbrpc

Which version

version protobuf package
<= 1.2.x github.com/golang/protobuf
1.3.x google.golang.org/protobuf

FYI: 由于这两个pb类库并不是完全兼容,官方推荐使用 google.golang.org/protobuf

使用说明与Demo

Quick Start(服务发布)

Quick Start(客户端调用)

同步发布http rpc服务

更多特性使用说明

Demo开发示例代码

License

brpc is Apache 2.0 licensed.

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 252
Function 128
Struct 54
Interface 8
FuncType 1

Languages

Go100%

Modules by API surface

server.go60 symbols
pb_data.go55 symbols
rpcpackage.go45 symbols
pb_status.go31 symbols
client.go23 symbols
nettool/customizelistener.go22 symbols
connection.go20 symbols
client_test.go18 symbols
connectionpool.go17 symbols
server_test.go15 symbols
header.go15 symbols
httpserver.go12 symbols

For agents

$ claude mcp add pbrpc \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page