教程演示🔗
使用 GraphQL、gRPC 和 REST 在 .NET 5 中构建微服务,并对它们进行基准测试,以便为您的用例做出正确的选择
你将学到什么
-
本课程的主要目标是比较三种现代 API 规范 GraphQL、gRPC 和 REST。
-
了解 GraphQL 规范的核心概念(基础知识、高级),并了解是什么使其成为强大的 API 查询语言。
-
使用 GraphQL 实现具有 CRUD 功能的真实微服务来测试所有主要功能
-
了解如何使用 GraphQL 类型系统对复杂的数据关系进行建模,并使用适当的 EntityFrameworkCore 模式无缝解析。
-
学习 gRPC API 规范的核心概念(基础知识、高级),并了解是什么使其成为高效、高性能的 RPC 框架
-
使用 gRPC 实现具有 CRUD 功能的真实微服务,以使用三个不同的 .NET Core 客户端测试架构的所有功能。
-
了解 gRPC-Web 协议、设置服务器并使用 Blazor 客户端对其进行测试。
-
采用不同的设计策略和适当的 EntityFrameworkCore 方法来解决 gRPC API 中相同的复杂数据关系。
-
了解 REST API 规范的核心概念,并了解使 API 成为适当的 RESTful 服务的原则/约束。
-
使用 REST 实现具有 CRUD 功能的真实微服务来测试架构的功能,以了解其简单性和灵活性。
-
了解流行的 .NET 基准测试库 BenchmarkDotNet。
-
使用 BenchmarkDotNet 工具比较这三个 API 的常见 API 使用场景。
-
使用图形和图表分析基准测试结果并获得所需的见解
要求
-
你必须具备 C# 知识
-
基本 ASP .NET 或 ASP .NET Core 知识(最好具备)
描述
您是否为您的微服务使用了正确的 API 技术?
您是否能够使用您选择的 Api 规范无缝地构建所需的功能?
作为开发人员,您如何衡量 Api 代码的性能来分析您是否为正确的用例做出了正确的选择?
API 是构建本地、基于云和云原生应用程序的现代软件开发的核心。
在这个现代化和数字化的时代,基于网络的服务和 API 是主要的通信工具。
在选择构建 API 的技术时,组织和团队主要依靠他们以前的经验和/或选择广泛使用的技术。而且它们通常无法为所有业务需求提供精确的解决方案。采用的任何第三方供应商解决方案或其他解决方法都会对 API 的性能产生负面影响。
生产就绪的Api比功能完整的Api更重要;为了实现这一目标,您应该选择正确的技术。默认情况下,我们中的许多人使用不同版本的基于 REST 的 Web Api 框架与 ASP .NET 或 ASP .NET Core 来构建所有微服务。毫无疑问,我们总是实现了所需的功能,但很多时候在性能和灵活性上有所妥协。
然而,还有其他值得考虑的选择。
事实上,如果用于正确的场景,它们被证明比基于 REST 的 Web API 更好。
GraphQL 和 gRPC 是 Facebook 和 Google 推出并开源的两种现代 API 规范,它们正慢慢成为可在 .NET 应用程序中无缝使用的替代方案。
在本课程中,我们将详细学习 GraphQL 和 gRPC 的 .NET 实现以及 REST Api 架构风格。
我们有专门的部分来讨论这些技术的核心概念并了解它们的独特之处。我们将在 .NET 5 中为每个微服务构建一个真实世界的微服务,并使用 .NET 5 客户端通过适当的示例测试所有功能。
不仅如此,在第四节中我们还将了解强大的.NET库BenchmarkDotNet,它在对.NET代码进行基准测试方面非常有效。
本课程的主要目标是 通过进行各种实验来对我们在前三个部分中创建的三个微服务进行基准测试,这将帮助我们确定每种 API 技术表现出色的理想场景。BenchmarkDotNet 是完成该任务的最佳工具。
在本课程结束时,您不仅能够开始自己使用 API 技术,还能够决定在哪里可以最佳地使用它们来改善 Api 开发人员体验,从而改善组织体验和客户体验。本课程将为您提供所需的快速入门,以扩大您的技术技能。
这是唯一一起教授 3 个 API 规范的课程。您将获得有关如何跨三个 API 创建相同功能并对它们进行比较以生成所需见解的第一手经验。
在一门课程中,您将获得五门课程的优惠!
大多数视频都是讲座中的实践代码。
您需要的是 C# 经验。
如果您已经是一名 API 开发人员并且已经使用过 Web Api 框架,那就太棒了。如果没有,也没关系,我们将从选择项目模板开始逐步创建每个 API。
浏览简介和课程内容视频,了解我们将要介绍的内容。
期待在课程中见到您。
快乐学习!
种子云团队
本课程适合谁:
- ASP .NET / 核心 Web 开发人员
- ASP .NET / 核心 Web-Api 开发人员
- C# 开发人员,有兴趣扩大他们的技术技能。