Netty vs Nginx:基于性能,内存管理,内存占用量的优缺点

问题:Nginx和Netty在构建代理服务器方面的利弊是什么?

详细说明问题:

我们正在尝试实现位于服务前面的代理服务器(正向或反向代理),并注意可应用于我们的服务的良好实践.

因此,我们正在评估市场上可用的不同解决方案,主要是Nginx和Netty.因此,当我们最初对Nginx进行研究时,我们遇到了很多积极的博客,这些博客表明Nginx速度非常快,可以通过将自定义模块编写为Nginx插件来轻松配置.

但是,当我们在Netty上进行POC时,使用Netty 4时我们可以获得更好的性能数据.所以我想知道是否有人在Nginx和Netty之间进行了一些比较,还有什么原因不使用Netty作为反向产品/转发代理解决方案.我们担心与Java Server解决方案相关的GC问题,因此我们希望在继续解决方案之前了解Nginx和Netty的优缺点.

谢谢,
维娜

最佳答案
我不知道详细的比较,因为您这里没有比较苹果. Netty是一个非常底层的Java框架,而nginx是一个几乎完整的代理.我不确定您为网易示例撰写的内容.我不做任何测试,我想在netty上创建一个比nginx更快的功能代理非常困难.

我认为,如果您想要一个简单的代理服务器,则应使用nginx,因为它很可能具有基本代理所需的所有功能. nginx快速成熟,因此在基本用例中应该做得很好.

如果您正在寻找带有特殊插件的更复杂的代理.也许像速率限制/自定义身份验证之类的东西,那么使用netty可能值得考虑.这些东西可以在nginx上构建,但是需要使用Lua脚本.您可能更喜欢使用Java作为开发人员.

如果您最终还是要使用netty,请记住,您可能必须重新实现一些复杂的功能,例如后端负载平衡.

我使用写在netty上的负载均衡器,所以我不想阻止您.我只想指出,一个是预先编写的优化反向代理,而另一个是您必须从头开始编写自己的代理.

相关文章

文章浏览阅读3.7k次,点赞2次,收藏5次。Nginx学习笔记一、N...
文章浏览阅读1.7w次,点赞14次,收藏61次。我们在使用容器的...
文章浏览阅读1.4k次。当用户在访问网站的过程中遇到404错误时...
文章浏览阅读2.7k次。docker 和 docker-compose 部署 nginx+...
文章浏览阅读1.3k次。5:再次启动nginx,可以正常启动,可以...
文章浏览阅读3.1w次,点赞105次,收藏182次。高性能:Nginx ...