高性能服务系列【九】内外网之分

文章探讨了YARP作为C#实现的反向代理与传统Nginx在性能上的比较,指出虽然YARP可能在特定测试中表现优异,但考虑到网络环境、实际需求和Nginx的成熟度,两者在网络IO上差距不大,而Nginx的插件功能可能影响其纯粹性能。同时强调了在不同场景下(如内网API网关),性能优化的重点不同。
摘要由CSDN通过智能技术生成

这篇文章源于一个关于YARP测试报告,据说HTTP反向代理性能高于传统ngnix高达80%。YARP是微软的一个C#实现的开源项目,实现反向代理核心功能的库。我对此测试结果并不以为然,并不是因为这个项目还未成熟,而是这个结果没有什么意义。

反向代理和网关一样,是内外网的一个重要界面,他们通常运行在传输层之上的应用层。所以,他的性能就会受到两个重要因素的影响,网络IO和应用层编解码性能,比如HTTP这个文本类协议。

受制于互联网带宽的价格,很少听说哪个公司能够提供GB以上的传输速度,能够达到MB级别传输速度,已经算是良心公司。所以,现代高速网络技术的发展,基本都没有覆盖到互联网网关。nginx作为WEB服务和反向代理,还能再战十年,也不是个问题。

作为HTTP的反向代理,YARP和nginx在网络IO这块基本相差无几,都是C10K时代的技术方案,难分伯仲。

nginx作为成熟的技术方案,需要添加更多的功能,比如丰富的插件。这在很大程度上,降低了纯粹的传输性能。如果将这些和反向代理无关的功能去掉,并且只需要解析出HTTP协议头中的URL,对于nginx还会有进一步提高。

nginx作为传统互联网网关,性能优化空间并不大,也没有太大必要,毕竟稳定是头等大事。如果将nginx作为内网的API网关,那么就是另外一个考量,现代网络传输技术,对其有巨大的加成。参考上一篇关于C10M文章。

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值