GRPC入门

  • GRPC入门已关闭评论
  • 190 次浏览
  • A+
所属分类:.NET技术
摘要

远程过程调用(远程函数调用)
google开发,跨语言RPC,用来解决微服务通信性能和扩展问题
跨语言:通过Protobuffer文件(通用文件)解决跨语言问题的
高并发:GRPC基于http/2协议,多路复用机制(服务端一个线程可以连接任意数量客户端请求)


RPC

远程过程调用(远程函数调用)
GRPC入门

GRPC

google开发,跨语言RPC,用来解决微服务通信性能和扩展问题
跨语言:通过Protobuffer文件(通用文件)解决跨语言问题的
高并发:GRPC基于http/2协议,多路复用机制(服务端一个线程可以连接任意数量客户端请求)

webapi缺陷

webapi基于HTTP协议,7层通讯协议,高并发存在性能瓶颈。

创建GRPC服务端项目

方式1、新建grpc项目

GRPC入门

方式2、手动创建

1、创建proto文件
proto文件相当于服务接口
2、通过proto文件创建服务类

创建GRPC客户端项目

1、创建项目GrpcClient
2、安装Nuget包

Install-Package Grpc.Net.Client Install-Package Google.protobuf Install-Package Grpc.Tools 

3、拷贝服务端项目的Protos/greet.proto文件到客户端
修改proto文件

option csharp_namespace = "GrpcClient"; 

4、项目文件中添加

<ItemGroup>   <Protobuf Include="Protosgreet.proto" GrpcServices="Client" /> </ItemGroup> 

proto文件语法

service:定义服务
rpc:定义方法
message:入参、出参必须是一个类,由message关键字定义