202109-29 如何用Python搭建gRPC服务 目录一、概述二、安装python需要的库三、定义gRPC的接口四、使用protoc和相应的插件编译生成对应语言的代码五、编写grpc的服务端代码六、编写gRPC客户端的代码七、调用测试八、gRPC的使用总结一、概述一个gRPC服务的大体结构图为:图一表明,grpc的服务是跨语言的,但需要遵循相同的协议(proto)。相比于REST服务,gPRC的一个很明显的优势是它使用了二进制编码,所以它比JSON/HTTP更快,且有清晰的接口规范以及支持流式传输... 继续阅读 >
202010-16 .Net Core中使用Grpc的方法 一、Grpc概述gRPC基于如下思想:定义一个服务,指定其可以被远程调用的方法及其参数和返回类型。gRPC默认使用protocolbuffers作为接口定义语言,来描述服务接口和有效载荷消息结构。如果有需要的话,可以使用其他替代方案。定义的服务分为4中类型:单项RPC,即客户端发送一个请求给服务端,从服务端获取一个应答,就像一次普通的函数调用。这种最常用。服务端流式RPC,即客户端发送一个请求给服务端,可获取一个数据... 继续阅读 >
202010-10 Python grpc超时机制代码示例 工作中遇到一个问题,上游服务通过grpc调用下游服务,但是由于下游服务负载太高导致上游服务的调用会随机出现超时的情况,但是有一点不太明确:超时之后,下游服务还会继续进行计算么?于是自己写了一个damon试了一下:client:#Copyright2015gRPCauthors.##LicensedundertheApacheLicense,Version2.0(the"License");#youmaynotusethisfileexceptincompliancewiththeLicense.#Youmayobtainacopyof... 继续阅读 >
202010-01 python golang中grpc 使用示例代码详解 python1、使用前准备,安装这三个库pipinstallgrpciopipinstallprotobufpipinstallgrpcio_tools2、建立一个proto文件hello.proto//[pythonquickstart](https://grpc.io/docs/quickstart/python.html#run-a-grpc-application)//python-mgrpc_tools.protoc--python_out=.--grpc_python_out=.-I.hello.proto//helloworld.protosyntax="proto3";packagetest;serviceGreeter{rpcSayHello(HelloRequest)returns... 继续阅读 >
202009-24 Java Grpc实例创建负载均衡详解 Grpc是googe开发的,是一款语言中立、平台中立、开源的远程过程调用(RPC)系统。新公司的项目服务之间的调用使用的Grpc来实现服务间的调用,这边一开始接到的工作内容是基于Nginx实现Grpc服务端的负载均衡。Nginx的1.13及以上版本是支持grpc的反向代理和负载均衡的。但是公司的nginx服务器的版本是1.10的,所以没办法直接使用grpc的代理。只能使用更底层的tcp层的负载均衡。最终服务跑起来是感觉挺简单的,但是nginx的基础太差,所... 继续阅读 >
202009-23 golang 微服务之gRPC与Protobuf的使用 RPC是什么?所谓RPC(remoteprocedurecall远程过程调用)框架实际是提供了一套机制,使得应用程序之间可以进行通信,而且也遵从server/client模型。使用的时候客户端调用server端提供的接口就像是调用本地的函数一样。gRPC是什么?与许多RPC系统一样,gRPC基于定义服务的思想,指定可以使用其参数和返回类型远程调用的方法。默认情况下,gRPC使用协议缓冲区作为接口定义语言(IDL)来描述服务接口和有效负载消息的结构。gRPC有什... 继续阅读 >