实现gRPC服务

本章将编写两个简单的 gRPC 服务,以便让它们通过 Consul 进行服务注册与发现。

服务介绍

  • Echo:回显客户端发送过来的消息
  • Calculate:简单的加减乘除计算服务

echo.proto

calculate.proto

syntax = "proto3";
package pb;

message CalculateRequest {
  int32 x = 1;
  int32 y = 2;
}
message CalculateRespone { int32 result = 1; }

service CalculateService {
  rpc Addition(CalculateRequest) returns (CalculateRespone);
  rpc Subtraction(CalculateRequest) returns (CalculateRespone);
  rpc Multiplication(CalculateRequest) returns (CalculateRespone);
  rpc Division(CalculateRequest) returns (CalculateRespone);
}
  • echo-srv:Echo 的 gRPC 服务
  • echo-web:Echo 的 Web 服务,调用 echo-srv
  • calc-srv:Calculate 的 gPRC 服务
  • calc-web:Calculate 的 Web 服务,调用 calc-srv

对应的 Cargo.toml 定义:

源码

由于代码非常简单,请自行在源码仓库查看。

本章代码位于01/实现服务分支。

要查看完整内容,请先登录