python-grpc

RPC 开发框架
授权协议 未知
开发语言 Python
所属分类 Web应用开发、 RPC/XMLRPC项目
软件类型 开源软件
地区 不详
投 递 者 朱鹏
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

该项目基于grpcio 开发,定义了一个通用的 GRPC 服务和函数。通过反射和语法糖,客户端和服务端都可以轻松实现 RPC 服务。

项目路径

  • client: grpc client demo
  • server: grpc server demo
  • python-grpc: python-grpc core module

教程

安装 python-grpc

pip3 install python-grpc

服务端

在 server 目录下运行 grpc 服务

python3 server.py

客户端

在 client 目录下测试 grpc 客户端

python3 client.py

通用服务定义 service.proto

syntax = "proto3";

// Define Common Service
service CommonService {
    // common rpc function
    rpc handle ( Request ) returns ( Response ) {}
}

// Request Type
message Request {
    int32 serialize = 1;
    bytes request = 2;
}

// Response Type
message Response {
    bytes response = 1;
}
  • 环境搭建 基础环境要求 Python 3.5 及以上 pip 版本高于 9.0.1 gRPC 安装 $ python -m pip install grpcio==1.38.0 grpcio-status==1.38.0 grpcio-tools==1.38.0 protobuf3-to-dict==0.1.5 参考自GreenPill gRPC tools 这个是用来生成 client & s

  • 在gRPC中,客户端应用程序可以直接在其他计算机上的服务器应用程序上调用方法,就好像它是本地对象一样,从而使您更轻松地创建分布式应用程序和服务。与许多RPC系统一样,gRPC围绕定义服务的思想,指定可通过其参数和返回类型远程调用的方法。在服务器端,服务器实现此接口并运行gRPC服务器以处理客户端调用。在客户端,客户端具有一个存根(在某些语言中仅称为客户端),提供与服务器相同的方法。 默认情况下,g

  • 什么是gRPC 在 gRPC 里客户端 应用可以像调用本地对象一样直接调用另一台不同的机器上服务端应用的方法,使得您能够更容易地创建分布式应用和服务。与许多 RPC 系统类似,gRPC 也是基于以下理念:定义一个服务,指定其能够被远程调用的方法(包含参数和返回类型)。在服务端实现这个接口,并运行一个 gRPC 服务器来处理客户端调用。在客户端拥有一个存根 能够像服务端一样的方法。 如何使用grpc

  • 简单介绍 当我们通过 grpc 进行客户端服务端通信时,健全的代码应该尽可能的对不同的异常情况进行捕获并做出相应的处理。对于 grpc的话,我们可以通过 try-catch 的形式来进行捕获. 例如像是下面这样子: 应用层可以就像下面这样子进行书写,当然这种感觉不是特别好,具体可以参考本文后面的内容。 try: response = stub.SayHello(...) except gr

  • 本文是关于 gRPC 内置安全验证的概述。这里非常感谢 Thomas French ,在阅读完官方文档之后,感到了晦涩且非常 toy,而他写的博客则较为全面,降低了对于 gRPC 安全认证这个功能学习的门槛。 首先我们来讲下大致的一个流程: 1. 生成认证文件和一个私有密钥 2. 定义一个 RPC 服务 3. 书写服务端代码 4. 书写客户端代码 这里不知道为啥,通过命令行生成的 ssl 生成的证

  • gRPC概述 gRPC是一款高性能、开源的 RPC 框架,产自 Google,基于 ProtoBuf 序列化协议进行开发,支持多种语言(Golang、Python、Java等)。gRPC对HTTP2.0协议的支持使其在 Android、IOS 等客户端后端服务的开发领域具有良好的前景。gRPC 提供了一种简单的方法来定义服务,同时客户端可以充分利用HTTP2.0 stream的特性,从而有助于节省

 相关资料
  • "One does not live by bread alone,but by every word that comes from the mouth of God" --(MATTHEW4:4) python开发框架 不管是python,还是php,亦或别的做web项目的语言,乃至于做其它非web项目的开发,一般都要用到一个称之为什么什么框架的东西。 框架的基本概念 开发这对框架的认识,由于

  • 本文向大家介绍10款最好的Web开发的 Python 框架,包括了10款最好的Web开发的 Python 框架的使用技巧和注意事项,需要的朋友参考一下   Python 是一门动态、面向对象语言。其最初就是作为一门面向对象语言设计的,并且在后期又加入了一些更高级的特性。除了语言本身的设计目的之外,Python标准 库也是值得大家称赞的,Python甚至还自带服务器。其它方面,Python拥有足够多

  • 「盘古开发框架」是一套轻量稳健的工业级前、中、后台三维多端行业数字化赋能开发框架。基于商业友好的 Apache-2.0 协议免费开源发布。我们希望不仅是开源的受益者也能成为开源贡献者,与开源社区一起共建共享开源生态。 生态子项目 盘古开发框架由「盘古服务开发框架」、「盘古中后台业务系统开发脚手架」、「盘古移动端多平台开发脚手架」三个子项目组成。可以单独拆箱使用,也可以打包整合。 盘古服务开发框架(

  • 本文向大家介绍Python的Flask开发框架简单上手笔记,包括了Python的Flask开发框架简单上手笔记的使用技巧和注意事项,需要的朋友参考一下 最简单的hello world 之后,访问http://localhost:5000 支持post/get提交 多个url指向 不管post/get使用统一的接收 处理json请求 request的header中 处理时: 获取post提交中的ch

  • nebula3 是一个游戏引擎和开发框架,可移植的特性支持多平台,包括 iPhone。 http://code.google.com/p/nebula3-engine/

  • 在尝试了使用 AWS 开发 Serverless 应用之后,我便想尝试使用 OpenWhisk 框架来搭建自己的 Serverless 服务。 Apache OpenWhisk(http://openwhisk.org/)是一个由IBM和Adobe驱动的开源项目,它是一个健壮的FaaS平台,可以部署在 云或数据中心内。相比其他serverless项目,OpenWhisk是一个健壮的、可扩展的平台,

  • 本项目是win32下大型客户端游戏的游戏辅助开发框架,由于它集成并包含了游戏辅助开发的各方面功能,称本项目为win32辅助开发的组件也可。 内含具体项目有fifa online3、疾风之刃、怪物猎人online、流放之路等,也有辅助帐号验证服务器,帐号查寻与管理工具,特征码识别,资源文件系统等。 本人现已转型,特发布此项目,旨在分享一份只供参考的多年工作经验与心血,若本项目中有些您认为闪亮的设计、

  • 本文向大家介绍Python六大开源框架对比,包括了Python六大开源框架对比的使用技巧和注意事项,需要的朋友参考一下 Python 是一门动态、面向对象语言。其最初就是作为一门面向对象语言设计的,并且在后期又加入了一些更高级的特性。除了语言本身的设计目的之外,Python标准 库也是值得大家称赞的,Python甚至还自带服务器。其它方面,Python拥有足够多的免费数据函数库、免费的Web网页模