最后更新:2022-06-10 18:23:05 手机定位技术交流文章
RPC(Remote Procedure Call)是一种远程程序调用,它简单地理解一个请求从另一个节点提供服务的节点。
在微型服务时代,rpc通常被用作技术解决方案,而不是单一服务内部的本地调用。rpc需要处理不同进程之间的调用,通常是机器间调用(与IPC解决方案(如同一机器下的通道)相反),而机器间调用主要针对网络通信。
因此,机器间的网络通信主要通过TCP/IP,而RPC则更关注应用层协议。 一般的RPC通信协议是json(http)和二进制(grpc, dubbo)。
Json的话很容易分析, 但需要带宽.
双向系统需要一种特殊的分析过程,它需要小带宽,但也依赖于协议分析性能。该分析过程也称为序列化或逆序列化
grpc是谷歌的双向通信框架
高性能的开源通用RPC框架。 开源高性能RPC框架
gRPC基于HTTP/2协议标准设计,使用protobuf序列开发,它支持许多开发语言。在gRPC中,客户端可以使用直接调用另一个无法访问的机器上的服务端的方法,如调用本地对象,更容易创建分布式应用程序和服务。
一个新地图项目
项目结构如下
pom.xml
Newxx在src/main/proto/.Protofile下,是实现跨语言的关键,在传输过程中被Python和Java使用。
as.proto
item_info.proto
user_info.proto
然后在控制台输入
在编译后在目标文件夹下生成文件
将生成的文件移动到项目
Client.java
启动服务端和客户端
java客户端控制台显示
本文由 在线网速测试 整理编辑,转载请注明出处。