现象:err: rpc error: code = Unimplemented desc =
背景:调用链路A->B->C,A是一个Http协议的接口,B也是一个Http协议的接口, 但C是一个Grpc协议的接口。
解决思路:查看C服务对应的proto,比对B Client 对应的proto发现package对不上换了之后解决问题。
B 服务定义的proto
syntax = "proto3";package media.adapter;service ShotVideoCoverService {rpc Cover(CoverRequest) returns(CoverResponse);
}message CoverRequest {optional string session_id = 1;
}message CoverResponse {optional string session_id = 1;
}
C服务端的定义:
syntax = "proto3";package test;service ShotVideoCoverService {rpc Cover(CoverRequest) returns(CoverResponse);
}message CoverRequest {optional string session_id = 1;
}message CoverResponse {optional string session_id = 1;
}
这里具体没研究过遇到这个问题是一个排查思路,在网上查资料服务端+客户端对应的proto服务名称一定要对得上。
工作中遇到的问题记录