首页 > 解决方案 > .net 和 java 中的 grpc 库版本

问题描述

我正在用 Java 和 .net 为我的 GRPC api 构建一个客户端。我希望了解 java 和 .net 库之间是否存在任何映射。我可以看到 .net 和 java 世界之间的 google protobuf 库匹配。例如 3.19.x 版本是 java 和 .net 世界中最新的版本之一。 https://mvnrepository.com/artifact/com.google.protobuf/protobuf-java & https://www.nuget.org/packages/Google.Protobuf/

当涉及到使用的 grpc 库时,我是否需要注意类似的关系。如果我想使用旧版本的库,那么 .net 和 java 中的版本是否必须在某种程度上匹配?任何有关此的信息都会有所帮助

爪哇

 <dependency>
      <groupId>io.grpc</groupId>
      <artifactId>grpc-protobuf</artifactId>
      <version>1.41.0</version>
    </dependency>

。网

    <PackageReference Include="Grpc" Version="2.31.0" />
    <PackageReference Include="Grpc.Tools" Version="2.31.0" PrivateAssets="All" />

标签: java.netgrpcgrpc-java

解决方案


它们不需要匹配,但与任何依赖项一样,最好有一个维护货币的政策。

SDK 提供了将 protobuf 消息传入和传出应用程序的机制。在线格式不应SDK 版本而改变。

在线格式应该由实现它的客户端和服务器共享的协议缓冲区定义(proto)文件中定义的syntax(当前)定义。proto3


推荐阅读