18跨越语言:不同语言间进行RPC通信

在最开始介绍gRPC时我们讲到,gRPC具有灵活的兼容性,可以支持很多种编程语言,下面我们就使用在后端领域最常用的两种编程语言Go和Java,来体验一下gRPC在不同语言的项目间是如何进行通信的。

逻辑架构

在这里插入图片描述
由上图我们可以看出,Go语言设计gRPC的服务端,Java语言设计gRPC的客户端,整个通信的过程,首先就是服务端要设计实现RPC接口,客户端使用具体的对象去调用接口的实现,其中包含对结构体和对象的解析,以及二进制编码和Socket网络通信,要求的前提就是两端都要保证具有相同的数据结构,在gRPC中具体指的就是具有相同的Protobuf文件内容。

Java实现gRPC服务端与客户端

Java项目我们为了方便,将使用Maven作为构建工具进行项目的构建,环境要求:

  • JDK 1.8+
  • Maven 3.x
1 工程依赖

Java使用gRPC需要两个依赖项,分别是gRPC和Protobuf相关依赖,而Protobuf我们后续还要配合Maven进行编译。

<?xml version="1.0" encoding="UTF-8"?>

猜你喜欢

转载自blog.csdn.net/Mr_YanMingXin/article/details/129336217