.NET Core 上的 gRPC 的简介Introduction to gRPC on .NET Core
是一种与语言无关的高性能远程过程调用 (RPC) 框架。
gRPC 的主要优点是:
- 协定优先 API 开发,默认使用协议缓冲区,允许与语言无关的实现。
- 可用于多种语言的工具,以生成强类型服务器和客户端。
- 支持客户端、服务器和双向流式处理调用。
- 使用 Protobuf 二进制序列化减少对网络的使用。
这些优点使 gRPC 适用于:
- 效率至关重要的轻量级微服务。
- 需要多种语言用于开发的 Polyglot 系统。
gRPC 使用协定优先方法进行 API 开发。在 *.proto 文件中定义服务和消息:
- 将包引用添加到 Grpc.Tools 包。
- 将 *.proto 文件添加到 项目组。
有关 gRPC 工具支持的详细信息,请参阅 。
gRPC 服务可以托管在 ASP.NET Core 上。这些服务与常用的 ASP.NET Core 功能(例如日志记录、依赖关系注入(DI)、身份验证和授权)完全集成。
gRPC 服务项目模板提供了一个入门版服务:
继承自 类型,后者是从 *.proto 文件的 服务生成的。Startup.cs 中的客户端可以访问该服务:
gRPC 客户端是从 *.proto 文件生成的具体客户端类型。具体 gRPC 客户端具有转换为 *.proto 文件中 gRPC 服务的方法。
gRPC 客户端是使用通道创建的,该通道表示与 gRPC 服务的长期连接。可以使用 创建通道。
有关创建客户端、调用不同服务方法的详细信息,请参阅 。
警告