| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> gRPC 框架 简单使用(python版) -> 正文阅读 |
|
[网络协议]gRPC 框架 简单使用(python版) |
一、gRPC 简介概述gRPC是搭建分布式应用接口和客户端的框架。在 gRPC 中,客户端应用程序可以直接调用不同机器上的服务器应用程序上的方法,就像它是本地对象一样,可以更容易创建分布式应用程序和服务。与许多 RPC 系统一样,gRPC 基于定义服务的思想,指定可以远程调用的方法及其参数和返回类型。在服务端,服务端实现这个接口并运行一个 gRPC 服务器来处理客户端调用。在客户端,客户端有一个存根(在某些语言中仅称为客户端),它提供与服务器相同的方法。 gRPC 客户端和服务器可以在各种环境中运行和相互通信——从 Google 内部的服务器到您自己的桌面——并且可以用任何 gRPC 支持的语言编写。例如,可以使用 Go、Python 或 Ruby 中的客户端轻松地调用在 Java 中创建 gRPC 服务器。 协议缓冲区协议缓冲区, 是谷歌开源的结构化数据结构。 协议缓冲区中的数据和服务定义,可以参考:协议缓冲区。 例如,在 proto 文件中定义 gRPC 服务,将 RPC 方法参数和返回类型指定为协议缓冲区消息:
使用在proto中定义的服务和数据结构,可以使用gRPC的插件来生成对应的grpc文件。 二、gRPC 的 Hello WorldgRPC可以使用多种语言编写,下面使用python来实现一个简单的gRPC服务端和客服端。 一般来说写gRPC服务,需要三个文件:
基本环境如下:
协议缓冲区定义协议缓冲区,新建一个
这个文件首先定义了两个数据结构,一个是用户的详细信息User,一个是用户信息格式化输出。 需要注意的是当一个message中定义多个变量时,赋值的编号不能相同,如User中的id和name分别是1和2。 然后定义了一个简单的服务UserInfo,将User传入,最后返回Reply(注意是returns,加了s) 最后使用gRPC的工具包,生成gRPC服务类:
它会生成两个文件 大致可以理解为: 具体的含义可以去看:生成代码参考 gRPC 服务端如下,定义 gRPC 服务端
gRPC 客户端如下,定义 gRPC 客户端
启动 gRPC启动gRPC服务端 :
在另一个终端窗口中,启动gRPC客户端:
最后查看效果: 更多的用法可以参考: |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 3:33:11- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |