
上一篇 使用 Spring 的 gRPC 服务 学习了如何用 Java SpringBoot 4 + Spring gRPC 实现服务端与客户端, 并且用 Postman 和 grpcurl 命令测试了如何访问 Java 实现的 gRPC 服务,其中还用 Wireshark 抓包工具进一步验证了 gRPC 的通信方式是 Protobuf Over HTTP/2。
完后又突然对 C++ 实现一个 gRPC 服务产生了兴趣,因为现实项目是想要把 C++ 动态库的调用代码独立为一个进程,这时候直接用 C++ 代码调用 C++ 动态库 就是最简单直接的方式,不存在任何数据结构的转换。把这部分实现为一个 C++ 的 gRPC 服务,然后由 Java 的 gRPC 客户端来调用。
下面来看这样一个简单的例子,在 C++ 只实现一个只包含一个同步的 gRPC 的服务,测试将用 grpcurl 命令和 Postman,并且也用 Wireshark 抓包工具验证 gRPC 的通信方式是否依然是 HTTP/2, Protobuf 数据编码肯定没得说了。
Read More