说明:
GRPC是什么?
首先我们知道 RPC是远程过程调用。
而GRPC是RPC的一种实现。
那么为什么要用GRPC呢?
因为它支持跨语言的开发,换句话说,大家都用过FeignRPC,尤其在spring cloud中。
然而它只支持java语言,而作为微服务,可能有很多其他的服务不是java开发的。因此需要满足这个需求,就需要一个跨语言的RPC,所以就会考虑使用GRPC
好了,下面进入正题
直接上代码。
我们做一个Service和一个Client 进行交互。
一,Service端
1,POM
注意:
grpc-spring-boot-starter
os-maven-plugin
protobuf-maven-plugin
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.6</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.leadtrans</groupId>
<artifactId>report</artifactId>
<version>1.6.0</version>
<name>report</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>11</java.version>
<spring-cloud.version>2020.0.4</spring-cloud.version>
<!-- GRPC -->
<grpc-spring-boot-starter.version>2.3.2</grpc-spring-boot-starter.version>
<os-maven-plugin.version>1.6.0</os-maven-plugin.version>
<protobuf-maven-plugin.version>0.5.1</protobuf-maven-plugin.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.78</version>
</dependency>
<!-- GRPC -->
<dependency>
<groupId>org.lognet</groupId>
<artifactId>g

本文介绍了如何在SpringBoot中使用GRPC进行跨语言开发。GRPC作为一种RPC实现,允许不同语言的服务间通信。文中详细步骤包括:创建Service端的POM配置、Proto文件编写、接口实现;接着介绍Client端的配置、Proto拷贝、接口调用;最后展示了运行结果。适合Java开发者了解GRPC在SpringBoot中的应用。


被折叠的 条评论
为什么被折叠?



