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

前端之家收集整理的这篇文章主要介绍了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上的负载均衡器,所以我不想阻止您.我只想指出,一个是预先编写的优化反向代理,而另一个是您必须从头开始编写自己的代理.

猜你在找的Nginx相关文章