python版gRPC快速入门一

这篇博客介绍了如何使用Python快速入门gRPC,包括服务定义、生成客户端和服务端代码以及实现服务端和客户端功能。内容涵盖了gRPC的基本概念、服务端和客户端的创建,特别强调了使用请求流式RPC进行文件上传的实现细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近花钱买了一些课程讲述了关于RPC的一些知识,觉得还不错,空余时间研究了点gRPC这个框架,觉得还是不做的,然后记录一下留作以后参考。
在网上http://doc.oschina.net/grpc找到了gRPC官网的中文文档说明,这里面介绍了gRPC以及一些安全认证,通讯协议和简单的例子。
刚开始还以为gPRC这个框架能够完成分布式部署的,后来才发现gRPC只能够完成服务器的部分,想要真正的完成分布式部署服务器还要借助一些其他的工具,也就是所谓的服务发现,例如zookeeper, etcd或者是consul等。常见的RPC一般包含三部分:
1.注册中心(用于服务端注册远程服务以及客户端发现服务)
2.服务端(对外提供后台服务,将自己的服务信息注册到注册中心)
3.客户端(从注册中心获取远程服务的注册信息,然后进行远程过程调用)
gRPC这里只是实现了服务端和客户端这两个功能,要实现注册中心还需要借助一些其他的工具。
本篇之讲述gPRC服务端和客户端的功能,关于注册中心的后续有机会在进行补充。
首先是安装gRPC在官方文档上有完整的介绍,这里不多赘述了。
第一步:定义服务
一个 RPC 服务通过参数和返回类型来指定可以远程调用的方法,gRPC 通过 protocol buffers 来实现。使用 protocol buffers 接口定义语言来定义服务方法,用 protocol buffer 来定义参数和返回类型。客户端和服务端均使用服务定义生成的接口代码。
下面是demo1.proto具体定于:

syntax = "proto3";
option java_package = "io.grpc.examples";
package demo1;
// 定义服务
service ImageRecognition {
	rpc Ping (PingRequest) returns (PongReply){};
	rpc ClientToServerImg (stream ImgRequest) re
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值