服务之间通过protouf协议通信,二进制编码,性能优越,但可读性不友好,寻找可视化的调试工具。
- 命令行操作:grpcurl,evans
- pc端操作:bloomrpc
参考其他团队整理文章 https://tech.qimao.com/grpc/ ,bloomrpc挺方便。
grpcurl
grpcurl仓库地址:https://github.com/fullstorydev/grpcurl
查看list
grpcurl -plaintext grpc.server.com:80 list
查看method
grpcurl grpc.server.com:443 my.custom.server.Service/Method
# no TLS
grpcurl -plaintext grpc.server.com:80 describe group.Group
request
grpcurl -d '{"Source":"toutiao","AccountIDs":""}' -plaintext \
grpc.server.com:80 group.Group.GetAccountList
遇到问题:
Failed to list services: server does not support the reflection API
,grpcurl对于其他grpc服务的感知皆来自reflection服务:s := grpc.NewServer() group.RegisterGroupServer(s, service.NewGroupServer()) reflection.Register(s)
详细参考文档。