定制网站建设的流程图,浙江嘉兴seo网站优化推广,广告公司企业网站模板,网站视频是什么软件做的关于gRPC和Google protobuf
gRPC 是一种可以跨语言运行的现代高性能远程过程调用 (RPC) 框架。gRPC 实际上已经成为 RPC 框架的行业标准#xff0c;Google 内外的组织都在使用它来从微服务到计算的“最后一英里”#xff08;移动、网络和物联网#xff09;的强大用例。 gRP…关于gRPC和Google protobuf
gRPC 是一种可以跨语言运行的现代高性能远程过程调用 (RPC) 框架。gRPC 实际上已经成为 RPC 框架的行业标准Google 内外的组织都在使用它来从微服务到计算的“最后一英里”移动、网络和物联网的强大用例。 gRPC是一个高性能的开源的通用RPC框架由Google公司开发支持常用的C、Java、Python、C#/.Net、Go、Node、Dart、Kotlin、Object-C、PHP、Ruby等语言采用protobuf作为数据交换格式并且采用C开发支持Windows 、Linux、macOS跨平台开发。对于跨语言服务调用非常方便只要使用protobuf定义接口协议然后按照gRPC语言SDK调用即可。比如我们使用C对环保数采仪器设备通过串口或者网口传送的数据协议如Modbus协议、HJ212协议、或者厂商自定义的协议进行解析之后将数据存放到本地数据库这个时候我们如何将C的数据传给前端网页呢 这个时候可以使用多种方式。比如通过数据库、HTTP协议、WebSocket协议、RPC远程过程调用等方式。 我之前做环保的时候采用C和环保硬件设备打交道通过C后台程序将数采仪数据解析之后存入到本地Sqlite数据库中分表分页存储然后由于展示的网页比较简单只是用网页展示当前站点的数据前端采用ElementUI和Vue.js后端采用Node.js。另外C后台写了一套RPC服务端接口Node.js通过RPC客户端调用C的后台RPC服务双方之间通过Google Protobuf数据协议交互。
在 gRPC 中客户端应用程序可以像本地对象一样直接调用不同机器上的服务器应用程序上的方法从而使您更轻松地创建分布式应用程序和服务。与许多 RPC 系统一样gRPC 基于定义服务的思想指定可以远程调用的方法及其参数和返回类型。在服务器端服务器实现这个接口并运行一个gRPC服务器来处理客户端调用。在客户端客户端有一个存根在某些语言中简称为客户端它提供与服务器相同的方法。 gRPC 客户端和服务器可以在各种环境中运行和相互通信从 Google 内部的服务器到您自己的桌面并且可以用 gRPC 支持的任何语言编写。例如您可以使用 Java 轻松创建 gRPC 服务器并使用 Go、Python 或 Ruby 编写客户端。此外最新的 Google API 将具有其接口的 gRPC 版本让您可以轻松地将 Google 功能构建到您的应用程序中。
在 C#和ASP.NET Core中创建 gRPC 客户端和服务器
在 C#和ASP.NET Core中创建 gRPC 客户端和服务器十分简单可以参考微软官方的几篇文章
使用 C# 的 gRPC 服务使用 .NET 客户端调用 gRPC 服务教程在 ASP.NET Core 中创建 gRPC 客户端和服务器 对应在VS2022中分别运行GRPC服务端和客户端的SayHello示例接口调用如下图所示
C# / .NET
C# 中的 gRPC 简介视频教程
另外油管上面有来自UP主IAmTimCorey于2019年9月30日创作的一篇关于C#中使用GRPC的视频地址为Intro to gRPC in C# - How To Get Started 相关示例代码我已经上传到我的Github仓库地址为https://github.com/ccf19881030/GrpcGreeterDemo 我们git clone https://github.com/ccf19881030/GrpcGreeterDemo.git 源代码到本地后使用VS2022打开GrpcGreeterDemo.sln解决方案里面有GrpcGreeter和GrpcGreeterClient两个项目分别是基于ASP.Net Core的gRPC服务端程序和基于.NetCore控制台的gRPC客户端程序我的VS2022使用的是.NetCore 7.0。如下图所示 我们首选将GrpcGreeter gRPC服务端程序作为启动项目然后运行如下图所示 接着我们再将GrpcGreeterClient gRPC客户端作为启动项目然后运行结果如下图所示
参考资料
https://grpc.io/Introduction to gRPCgRPC-Quick starthttps://github.com/grpc/grpc The C based gRPC (C, Python, Ruby, Objective-C, PHP, C#)gRPC in 5 minutes | Eric Anderson Ivy Zhuang, GoogleProtocol BuffersProtocol Buffers - Google’s data interchange format使用 ASP.NET Core 的 gRPC 服务Intro to gRPC in C# - How To Get Startedhttps://github.com/ccf19881030/GrpcGreeterDemo将本地托管代码添加到 GitHub