本文通过grpc实现java与java之间的通信、java和python之间的相互调用、python与python之间的相互调用。
1、java实现grpc
(1)、创建一个maven项目,项目的整体结构如下图所示:
(2)、给pom.xml文件添加依赖包
(3)、编写helloworld.proto文件
文件里定义了传入传出的数据,其中,HelloRequest为请求的参数,HelloReply为响应的参数
(4)、在项目的根目录下输入:mvn compile命令
这时,会生成响应的java文件:
(5)、编写服务端代码
(6)、编写客户端代码
此时,代码编写完成,然后先执行服务端,再执行客户端,客户端会受到如下信息:
2、python实现grpc
grpc安装:pip install grpcio
grpcbuf相关库安装:pip install grpcbuf
编译工具:pip install grpcio-tools
(1)使用flask创建一个python项目,python项目的结构如下图所示:
(2)创建proto文件(与java使用的proto文件相同):
(2)在example目录下编译:
注意:在编译过程中,可能出现编译不成功的现象,可以试着一部分一部分加着编译,小编就是每次增加一点点才编译成功的。
编译成功后,会生成helloworld_pb2_grpc.py和helloworld_pb2.py文件
(3)、服务端编写:
(4)、客户端编写
先启动服务端,再启动客户端:
在上述程序中,可以启动java服务端和python客户端,或者启动java客户端和python服务端,都可以调用成功。