系统由N多可独立部署的服务组成,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务。在所有情况下,每个任务代表着一个小的业务能力
syntax = "proto3";
package proto;
// protoc -I=. *.proto --go_out=plugins=grpc:.
message HelloRequest {
string greeting = 1;
}
message HelloResponse {
string reply = 1;
}
service HelloService {
rpc SayHello(HelloRequest) returns (HelloResponse);
}
基于consul-template的配置管理
sls
+ TraceId
X-Req-ID
的 Header
, grpc 调用时会携带在 context
metadata 中,记录整个链路调用过程