使用 WebListener 或 OWIN 作为 azure service fabric 的 API 网关

Using WebListener or OWIN as API Gateway for azure service fabric

我们在使用 Kestrel 作为服务器的服务结构中有 4 个无状态服务微服务。我们需要将这 4 个服务暴露给前端,并且对使用 WebListener 或 OWIN 作为服务器有疑问。任何人都可以告诉哪个对性能更好。我们还有用于处理令牌的身份验证服务。

OWIN 我假设您指的是 Katana 和 Web API 2,它们都实现了 OWIN。

在那种情况下,实际上是在带有 Katana 的 "classic" Web API 2 和带有 WebListener 的较新的 ASP.NET Core 之间进行选择。我总是推荐 ASP.NET Core with WebListener,原因如下:

  • 我们在 Service Fabric
  • 中有 ASP.NET 核心的官方 integration NuGet packages
  • 这些包及其用例是documented
  • Katana 主要是 ASP.NET Core 的原型。大多数(如果不是全部)新功能工作将进入 ASP.NET Core,而不是 Katana,并且 ASP.NET Core 得到 Microsoft 的官方支持。