grpc工具之grpcurl、grpcui、ghz

6 篇文章 0 订阅

通过 grpcurl 工具,我们可以在没有客户端代码的环境下测试 gRPC 服务。

使用前提:

1、安装grpcurl
根据github文档执行:https://github.com/fullstorydev/grpcurl

2、在注册服务之后,启动反射服务:reflection.Register(rpcServer)
在这里插入图片描述

主要命令:

列出服务名称:
grpcurl -plaintext localhost:4399 list
查看服务描述信息:
grpcurl -plaintext localhost:4399  describe  pb.Order
根据服务名称pb.Order查看服务的方法列表:
grpcurl -plaintext localhost:4399  list pb.Order

调用方法:

linux环境:

grpcurl -plaintext -d '{"user_id": 10}' localhost:4399  pb.Order/login

(window这样执行会报错:Error invoking method “pb.Order/login”: error getting request data: invalid character ‘u’ looking for beginning of object key string)

window环境:

grpcurl -plaintext -d '{\"user_id\": 1}' localhost:4399 pb.Order/login

有些方法用了自定义token校验,通过metadata传递字段进行判断权限。因为metadata是放在 Request-Headers 内。所以用-H指定参数。

grpcurl -plaintext -H 'app_id:10086-9527' -d '{\"order_id\":1}' localhost:4399 pb.Order.orderDetail

在这里插入图片描述

【工具–grcpui】

除了grpcurl还有另一个利器:grpcui (web ui界面,类似postman)
根据 https://github.com/fullstorydev/grpcui 下载这个工具:

go install github.com/fullstorydev/grpcui/cmd/grpcui@latest

然后输入 grpcui -plaintext 127.0.0.1:8081 即可自动生成一个url地址访问调用rpc接口。
在这里插入图片描述

【工具-grpc压测:gzh】

下载:https://github.com/bojand/ghz (直接选择go install的方式)

-c:并发请求数
-n:最大请求数,达到后则结束测试
-d /–data= :请求参数。json格式。(-d的话直接空格加json字符串。–data就是=后面接json字符串)
–call:指定调用的方法。具体格式为包名.服务名.方法名 (可以通过grpcurl工具查看服务名,再通过服务名获取方法名:grpcurl -plaintext 127.0.0.1:4399 list)

ghz -c 10 -n 10 --insecure  --proto ../pb/order.proto --call pb.Order.orderDetail 0.0.0.0:4399
ghz -c 10 -n 10 --insecure  --proto ../pb/order.proto --call pb.Order.orderDetail -d '{\"orderId\": 3}' --metadata='{\"app_id\": \"10086-9527\"}' 0.0.0.0:4399 (window环境下json参数需要加上反斜杠)

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值