1万行代码,单机50万QPS,今年最值得学习的开源RPC框架!
(1)RPC简介;
(2)行业常见RPC框架;
(3)srpc特点;
(4)srpc上手指南,demo示例;
(5)srpc架构设计;
(6)srpc相关资料与资源;
文章较长,建议提前收藏。
int result = Add(1, 2);
这行代码的时候,到底发生了什么?
syntax = "proto3";// proto2 or proto3
message EchoRequest {
string message = 1;
string name = 2;
};
message EchoResponse {
string message = 1;
};
service Example {
rpc Echo(EchoRequest) returns (EchoResponse);
};
class ExampleServiceImpl : public Example::Service
{
public:
void Echo(EchoRequest *request,
EchoResponse *response,
RPCContext *ctx) override
{
response->set_message("Hi, " + request->name());
}
};
make一把,一气呵成。
int main()
{
Example::SRPCClient client("127.0.0.1", 1412);
EchoRequest req;
req.set_message("Hello, srpc!");
req.set_name("zhangsan");
client.Echo(&req,
[](EchoResponse *response, RPCContext *ctx){});
return 0;
}
文末的资料集里,有非常详细的手册链接,一步步照着来就行。
作者知乎:
作者联系方式: