ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

grpc python demo gRPC Python Demo:别废话,直接跑通它

2026/8/13 10:27:18 拓冰建站 浏览量
grpc python demo gRPC Python Demo:别废话,直接跑通它 提供给您有关gRPC介绍的这个页面, gRPC有能将其当作自身接口定义语言以及底层消息交换格式来使用的情况, 是在说某种情况, 您要是对gRPC以及另外某种状况是新手, 那就赶紧阅读这篇文章, 您要是想率先直接感受下gRPC实际运行具有的效果, 那就从中挑选一种语言, 去试着进行它的快速入门。概述客户端应用程序在gRPC里能直接去调用处于另一台机器上的服务器应用程序之方法, 如同调用本地对象那般, 这让创建分布式应用程序以及服务变得更轻易了。和好多RPC系统相同, gRPC是基于定义服务的观念, 指明可借由参数跟返回类型进行远程调用的方法。在服务器端, 服务器去实现此接口, 并且运行gRPC服务器用以处理客户端调用。于客户端处, 客户端存有一个存根, 此存根在某些语言里被径直称作客户端, 它把与服务器一样的方法予以提供。gRPC客户端能在多样环境里运行, gRPC服务器同样能在多样环境中运行, 二者可相互通信, 其运行环境涵盖内部服务器至您自己的桌面, 且gRPC客户端与服务器能用gRPC所支持的任意语言编写。所以, 举例来说, 您能够轻松用Java创建gRPC服务器, 该服务器可与用Go编写的客户端相互配合, 或者能与用Ruby编写的客户端相互配合。另外, 最新的API会提供其接口的gRPC版本, 借助此版本您能轻松把功能构建到您的应用程序里。使用在默认情形之下, gRPC 所采用的是,这属于一种成熟的开源机制, 其用以序列化结构化数据虽说它也能够跟其他的数据格式譬如 JSON 一同加以运用。下面所载的乃是关于其工作原理的简要阐释。要是您已然对熟知了, 那么请随意径直跳跃至下一个小节。执行使用操作的首要步骤是于proto文件里界定您打算进行序列化的那种数据结构, 该文件乃是具备.proto扩展名的普通文本文件, 数据被构建成消息形式, 在这当中每条消息均为一条逻辑信息的记录, 其涵盖了一连串被称作字段的名称与值的对应组合, 以下呈现的是一个简易的实例对象, 此对象具备上述所描述的一系列相关特性, 并且在实际应用场景中能够发挥相应的作用, 其作用的发挥依赖于与其他相关组件或者系统的协同配合, 进而达成特定的功能或者任务目标。messagePerson{stringname1;int32id2;boolhas_ponycopter3;}接着, 一旦确定了数据结构, 您便能够利用编译器依据您的proto定义去生成您选定语言的数据访问类。这些类针对每个字段给出了简便的访问器, 像是name()以及(), 还有把整个结构序列化或者解析成原始字节的方式。所以, 举例来说, 要是您选择的语言是C, 那么在上述示例上运行编译器就会生成一个名为的类。而后, 您能够在应用程序里借助此类去填充、序列化以及检索消息。您能够于普通的proto文件里去定义gRPC服务, 据此把RPC方法的参数以及返回类型规定为消息。// The greeter service definition.serviceGreeter {// Sends a greetingrpcSayHello (HelloRequest)returns(HelloReply) {}}// The request message containing the users name.messageHelloRequest{stringname1;}// The response message containing the greetingsmessageHelloReply{stringmessage1;}gRPC借助带有特殊gRPC插件之物, 自您的proto文件去生成代码, 你会得到所生成的gRPC客户端以及服务器代码, 还有用于填充、序列化以及检索消息类型的常规代码。若要知晓有关此物的更多信息, 涵盖如何在您所选定的语言里安装带有gRPC插件的此物, 敬请参阅文档。版本虽说, 已然给开源用户供给了一阵子时间, 然而, 本站点里的多数示例, 动用的皆是版本3, 其有着略微简化了些的语法, 具备一些挺有用的全新功能, 并且还支持更多的语言。当下, 能用于Java、C、Dart、、-C、C#、精简运行时(Java)、Ruby以及源自仓库, 还有来自/官方包的Go语言生成器, 更多的语言正处于开发进程当中。您能够在语言指南以及每种语言的参考文档内寻觅到更多信息。参考文档还包括 .proto 文件格式的 正式规范。一般来讲, 虽说您能够运用当下的默认版本, 然而我们提议您在gRPC里运用, 缘由在于它能让您借助gRPC所支持的全部语言, 并且规避客户端与服务器反过来也是如此进行通信之际的兼容性问题。针对不同网页, 于2024年11月12日进行了最后修改, 此次修改, 是要嵌入视频, 其中视频编号为#1380 , 括号内为空。