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上的负载均衡器,所以我不想阻止您.我只想指出,一个是预先编写的优化反向代理,而另一个是您必须从头开始编写自己的代理.

相关文章

一、Linux下Nginx的安装 1.去官网 http://nginx.org/download/下载对应的Nginx安装包,推荐使...
一、空格:默认匹配、普通匹配 location / { root /home; } 二、= :精确匹配(表示匹配到 /home/resou...
``` nginx -c 配置文件路径 ``` ``` /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.con...
前言 nginx可所谓是如今最好用的软件级别的负载均衡了。通过nginx的高性能,并发能力强,占用内存下的特...
1.ngnix概念 Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄...
博客园从今天上午就开始报502错误 , 他的原因还不知道 , 暂时先说下我们遇到502的排查情况 最大的可能性...