什么是 gRPC 接口
gRPC 是一个由谷歌开发的现代开源高性能 RPC 远程过程调用( Remote Procedure Calls)框架,具备良好的兼容性,可在多个开发环境下运行。它采用了领先的 HTTP/2 底层架构设计作为底层传输协议,能够在大规模数据传输场景(例如视频流传输)和大量服务相互调用的微服务架构场景下大展身手。
数据交换采用轻量化的 Protobuf 序列化协议,使得它能够在资源受限场景(常见于手机等移动端设备)提供更快的数据处理速度的同时,减少网络传输的数据量并节省网络带宽,从而降低功耗并提升电池寿命。
为什么要测试接口?
当你写完一个接口后,你会马上进行上线部署吗?如果这么做的话,那么无疑会对你的服务器造成一定的危险隐患。
所以最好是在上线部署之前测试接口性能,尽早发现可能会影响用户体验的问题。未雨绸缪,提前暴露风险,减少上线后紧急情况。
测试工具
目前市面上能够兼容 gRPC 接口的接口调试与管理工具十分有限,而 gRPC 现已广泛应用于微服务架构中,并且可以预见的是,它会变得越来越流行。能够用于 gRPC 接口测试的工具有以下三种:
- JMeter
- Postman
- Apifox
JMeter、Postman 本身不支持中文,并且上手门槛较高。而 Apifox = Postman + Swagger + Mock + JMeter ,可以帮助开发人员在统一的 API 管理平台上开展设计、调试及测试工作。
使用 Apifox 调试 gRPC 接口
Apifox 支持基于 .proto 文件的 gRPC 调试,包括一元调用和流式调用。在创建项目时「选择 gRPC 项目」-->「导入 .proto 文件」,无需写代码即可直接调用 gRPC 接口。
在调试 gRPC 接口之前,也需要先导入作为 API 定义的 .proto 文件。如果一个 .proto 文件依赖于其他 .proto 文件,那么需要手动添加依赖关系目录。
一元调用
只需要在地址栏填写 URL 后点击「调用」按钮,即可发起一元调用。
流式调用
流式调用包含服务端流、客户端流、双向流。
在发起调用之后,你可以在 Message 标签下撰写消息并发送。Apifox 提供了一个时间线视图,按照时间顺序集中展示调用状态、发送的消息、收到的消息。点击消息之后,可以非常方便地查看消息的详情。
关于 Apifox
Apifox 提供了一种全面的 API 管理解决方案,可以在统一的平台上设计、调试、测试以及协作 API,消除了在不同工具之间切换和数据不一致的问题,简化了你的 API 工作流,并确保了前端、后端和测试人员之间的高效协作。
知识扩展: