gRPC介绍和使用

gRPC玩法:

服务端
1.新建gRPC项目,添加protos文件
2.在项目文件中增加节点
3.编译项目,
4.添加服务类,继承来自proto文件生成的一个类
5.覆写父类的虚方法
6.startup UseEndpoints注册服务

客户端:
0.nuget 添加:grpc.tools;grpc.netclient;google.protobuf
1.从服务端copy proto文件到客户端
2.在项目文件中配置使用当前这个proto文件

------------------------------------------------------------------


1. gRPC 是一个高性能,开源的,跨语言的RPC框架

基于 Http/2 传输协议(支持流)
Protocol buffers高效序列化(JSON / XML)

2. gRPC支持4种流
简单 RPC(Unary RPC):传入一个请求,返回一个结果对象
服务端流式 RPC (Server streaming RPC):传入一个请求,返回多个结果对象
客户端流式 RPC (Client streaming RPC) :传入多个请求,返回1个结果对象
双向流式 RPC(Bi-directional streaming RPC):传入多个请求,返回多个结果对象

3.为什么要用grpc
WebService:最早-门槛最低,soap+xml累赘,只Http,依赖IIS
.NetRemoting:RPC--.NET RPC(限制多)---性能高
WCF—集大成者,各种服务各种协议—XML 重---.NET5移除WCF(未来可能又有了)
WebApi&Core WebApi---
gRPC


Webapi &core webapi就是遵循REST的框架,路由
Json格式—比XML轻一些

Http/2:高性能—专属序列化格式---多路复用双向流---
gRPC对js不是很友好,性能也不总是比webapi好
(gRPC数据量越大,相对性能越好)
内部交互,用gRPC
外部数据,用core webapi

4. 使用步骤:
服务端:
1.新建grpc项目服务端项目
2.添加nuget: grpc.tools;grpc.net.client;grpc.aspnetcore;google.protobuf
3.添加custom.proto 协议文件,编译
4.新建customService.cs 业务处理方法

 

客户端:
1.添加custom.proto 协议文件,编译;
2.program.cs 添加调用服务器端的方法,可以获取返回结果数据;

 

---------Jemter 测试补偿--------------------

响应时间500ms;互联网行500ms,淘宝20ms,银行1-2m,制造也3-5m
系统处理能力:HPS,TPS,QPS:互联网行
吞吐量:
并发数:500
错误率:99.4

Harbor

code--git--jenkins--harbor--kuernetes:管理镜像
JMeter 如何带token 测试接口

HTTP信息头管理器token
Bearer token  //中间空格

redis 不是并发的瓶颈,需优化:
网关
log
MVC

posted @   大树2  阅读(334)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2008-03-21 Mysql使作心得(备份,还原,乱码处理)
点击右上角即可分享
微信分享提示