在Dotnet核心中,有两个内置的服务器Kestrel和HTTP.sys。
我想知道这两个服务器之间的区别,以及在性能、可靠性、微服务友好性等方面何时使用特定的服务器。
答案:微软官方文档中的Kestrel vs. HTTP.sys。
发布于 2019-02-12 21:01:07
请参阅微软官方文档中的Kestrel vs. HTTP.sys。
主要区别在于HTTP.sys只能在windows上运行,而kestrel也可以在linux上运行。这也意味着HTTP.sys只需很少的设置即可使用windows身份验证,而kestrel需要更多的设置。在性能方面,它们与http.sys相似,但速度更快,因为它针对windows进行了优化。此外,IIS的基础是HTTP.sys。
可靠性不仅取决于服务器,还取决于它所在的基础设施。也就是说,如果您将两者都放在kubernetes的docker中,它们将是可靠和可伸缩的,因为您将有容器来处理这一部分。
现在我在两者上都有微服务,它们非常友好,我将它们用于不同的目的,环境取决于所讨论的服务。
还要提到的是,对于面向公众的服务,我使用反向代理,无论如何,我不熟悉这两个角色是如何起作用的。话虽如此,如果你有一个面向前端的服务,微软建议使用HTTP.sys,因为它对攻击更具弹性,但就像我说过的那样,因为我的服务位于处理这些请求的反向代理后面,所以无法验证这些声明。
希望这能帮上点忙
https://stackoverflow.com/questions/54641919
复制相似问题