前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >.net gRPC初探 - 从一个简单的Demo中了解并学习gRPC

.net gRPC初探 - 从一个简单的Demo中了解并学习gRPC

作者头像
GoodTime
发布2024-03-05 16:04:30
1490
发布2024-03-05 16:04:30
举报

一、.NET 上的 gRPC 的简介

gRPC 是一种与语言无关的高性能远程过程调用 (RPC) 框架。

gRPC 的主要优点是:

  • 现代高性能轻量级 RPC 框架。
  • 协定优先 API 开发,默认使用协议缓冲区,允许与语言无关的实现。
  • 可用于多种语言的工具,以生成强类型服务器和客户端。
  • 支持客户端、服务器和双向流式处理调用。
  • 使用 Protobuf 二进制序列化减少对网络的使用。

这些优点使 gRPC 适用于:

  • 效率至关重要的轻量级微服务。
  • 需要多种语言用于开发的 Polyglot 系统。
  • 需要处理流式处理请求或响应的点对点实时服务。

二、从一个简单的Demo中了解并学习gRPC

1、创建gRPC服务端

1)新建一个gRPC项目
2)新建好的初试gRPC项目结构如下
3)proto文件
4) 服务:proto中的方法具体实现
5) proto会自动生成两个类文件,保存proto重新生成即可
6)在项目的工程文件中(.csproj)可以看到此时的文件情况
7)开始自己新建上述文件

① 首先新建一个proto文件

添加新项,选择协议缓冲区文件

② 更改新建proto文件的属性

点击项目初始化的greet.proto文件可以看到其属性

根据初始文件更改我们新建的people.proto文件的属性,注意:生成操作选择[Protobuf compiler]

gRPC Stub Classes 生成操作选择[Server only]

③ 此时,查看工程文件可以看到我们新建文件及其属性设置:和初始文件一样是一个服务器端的协议缓冲区文件

④ 按照greet.proto更改people.proto文件,编写服务,增加一个查询方法,并定义其请求类和响应类

注意:这里的int类型不同于.net代码中的int类型,短整型用int32表示,长整型用int64表示

⑤ 保存并生成people.proto文件,可以看到此时也生成了两个people.proto的类文件

⑥ 实现上述的服务:查询方法

注:这里的People.PeopleBase是由people.proto自动生成的类文件中的基类

⑦ 在Startup.cs中注册我们编写的服务

⑧ 至此,服务端新建完成

2、创建gRPC客户端

1)在解决方案上右键新建一个控制台程序
2)在NuGet程序包管理器中添加如下程序包
3)把服务端的proto文件拷贝过来
4)更改两个proto文件的gRPC Stub Classes属性为[Client only],查看客户端程序的工程文件即可看到更新
5)客户端也生成了两个proto的类文件
6)编写基于https的请求测试代码

7)设置解决方案的多启动项目,使得服务端客户端同时运行

8)运行,查看测试调用结果

至此,gRPC服务与客户端的新建及其简单的调用完成

三、总结

上述内容对gRPC做了一个简单的连接,并根据一个demo学习理解gRPC服务端、客户端的通信,进一步体验这种高性能轻量的内部服务调用模式。

想要更详细全面进一步的学习gRPC,本文在此推荐一个博主写的文章,特别通俗易懂而且全面,

以上就是.net gRPC初探 - 从一个简单的Demo中了解并学习gRPC的介绍,做此记录,如有帮助,欢迎点赞关注收藏!
本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-03-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、.NET 上的 gRPC 的简介
  • 二、从一个简单的Demo中了解并学习gRPC
    • 1、创建gRPC服务端
      • 1)新建一个gRPC项目
      • 2)新建好的初试gRPC项目结构如下
      • 3)proto文件
      • 4) 服务:proto中的方法具体实现
      • 5) proto会自动生成两个类文件,保存proto重新生成即可
      • 6)在项目的工程文件中(.csproj)可以看到此时的文件情况
      • 7)开始自己新建上述文件
    • 2、创建gRPC客户端
      • 1)在解决方案上右键新建一个控制台程序
      • 2)在NuGet程序包管理器中添加如下程序包
      • 3)把服务端的proto文件拷贝过来
      • 4)更改两个proto文件的gRPC Stub Classes属性为[Client only],查看客户端程序的工程文件即可看到更新
      • 5)客户端也生成了两个proto的类文件
      • 6)编写基于https的请求测试代码
      • 以上就是.net gRPC初探 - 从一个简单的Demo中了解并学习gRPC的介绍,做此记录,如有帮助,欢迎点赞关注收藏!
  • 三、总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com