• 作者:.Neterr
  • 分类: .Net

RPC

远程过程调用(远程函数调用)

GRPC

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

webapi缺陷

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

创建GRPC服务端项目

方式1、新建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="Protos\greet.proto" GrpcServices="Client" />
</ItemGroup>

proto文件语法

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

转载自: https://www.cnblogs.com/fanfan-90/archive/2022/09/03/16653576.html