# [翻译]Azure 网关迁移至 .NET Core 3.1 性能提升一倍

2021-01-19 08:19:03 +08:00
 Rwing

原文:[Azure Active Directory’s gateway is on .NET Core 3.1!]

Azure Active Directory 的网关服务是一个反向代理,它为构成 Azure AD 的数百个服务提供前置服务。如果你使用过 office.comoutlook.comazure.comxbox.live.com 等服务,那么你已经使用了 Azure AD 的网关。网关为 Azure AD 中的服务提供了 TLS 终止、自动故障切换 /重试、地理位置临近度路由、节流和 tarpitting 等功能。该网关存在于全球超过 53 个 Azure 数据中心中,每天服务于约 115 亿次请求。一直以来,Azure AD 的网关都运行在 .NET Framework 4.6.2 上,直到 2020 年 9 月,我们把它迁移到了 .NET Core 3.1 上。

移植到 .NET Core 的动机

网关的执行规模导致计算资源的大量消耗,而计算资源的消耗又要花费大量的金钱。寻找降低服务执行成本的方法一直是我们团队的一个关键目标。而 .NET Core 对性能的大量改进引起了我们的注意,尤其是 TechEmpower 将 ASP.NET Core 列为全球最快的 Web 框架之一。我们在 .NET Core 上的对网关原型运行了基准测试,测试结果让人很容易做出决定:我们必须移植到 .NET Core 上。

.NET Core 的性能改进能否转化为现实中的成本节约?

绝对是的。在 Azure AD 网关这个案例中,我们能够削减 50% 的 CPU 成本。 这个网关曾经在 IIS 上运行并采用 .NET Framework 4.6.2 。如今,它运行在 .NET Core 3.1 的 IIS 上。 下图显示,与 .NET Framework 4.6.2 相比,我们在 .NET Core 3.1 上的 CPU 使用量减少了一半(有效地将我们的吞吐量提高了一倍)。 由于吞吐量的提升,使得我们能够将集群规模从 4 万个核心减少到约 2 万个核心(减少 50%),如图二。

(图一)

(图二)

未来

移植到 .NET Core 后,我们的服务吞吐量增加了一倍,这是一个伟大的决定,并且我们的 .NET Core 之旅不会停止。对于未来,我们正在考虑:

4762 次点击
所在节点    程序员
53 条回复
LokiSharp
2021-01-19 11:27:19 +08:00
@Keyes #19 Go 社区提的意见,开发团队基本不管,只管满足 Google 自己内部需求。
SWALLOWW
2021-01-19 11:34:44 +08:00
@aheadlead 求推荐,四年.NET 桌面端
aheadlead
2021-01-19 11:45:24 +08:00
@SWALLOWW #21 请联系 yulwei (at) microsoft <dot> com
coosir
2021-01-19 11:54:06 +08:00
哦,我选 Go
真不知道哪来那么多优越感,每种语言都是多面的,决定其成败的因素也非常多。
whitehack
2021-01-19 11:54:07 +08:00
dotnet 确认不输 go
Rwing
2021-01-19 11:54:55 +08:00
@SWALLOWW 上海申通正在找 winform 的人才
charlie21
2021-01-19 12:08:06 +08:00
是锦上添花,而非雪中送炭,锦上添个大红花
love
2021-01-19 12:23:32 +08:00
不知道为什么,看到 .net 国内起了十几年都起不来倍感舒心~希望能一直保持
PopRain
2021-01-19 12:41:32 +08:00
@SWALLOWW 上海传统物流企业招人, 简历 wisdom (at) sina <dot> com , 就不放公司邮箱了
Keyes
2021-01-19 13:04:47 +08:00
转眼间 .net 竟然变成稀缺品种 hhh
huobazi
2021-01-19 13:16:12 +08:00
.net 比 go 和 node 性能强多了
BigBunny
2021-01-19 13:27:48 +08:00
@aheadlead 同程?哈哈
INCerry
2021-01-19 13:30:13 +08:00
@BigBunny 同程也有 人家那个是 microsoft
BigBunny
2021-01-19 14:25:27 +08:00
@INCerry 酱紫 打扰了打扰了 😂️
SWALLOWW
2021-01-19 14:32:32 +08:00
@Rwing
@PopRain

不好意思,请问有北京的岗位吗,或者可以远程吗
SWALLOWW
2021-01-19 14:33:05 +08:00
@aheadlead
对算法没信心,刷刷算法再去贵司面试
aheadlead
2021-01-19 14:36:14 +08:00
@SWALLOWW #35 没事 您先和我取得联系 我给您简单介绍一下情况如何?
Ley
2021-01-19 14:45:07 +08:00
5.0 确实还不错,自己的 web 小工具升到了 5.0,性能数据上明显比 3 时代又提升了
exonuclease
2021-01-19 16:50:06 +08:00
@Keyes 啊这 泛型加上了吗
exonuclease
2021-01-19 16:53:33 +08:00
@aheadlead 活捉同事一只 我在你楼上

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/746138

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX