use*_*844 6 performance proxy reverse-proxy nginx netty
问题:Nginx 和 Netty 用于构建代理服务器的优缺点是什么?
细化问题:
我们正在尝试实现一个代理服务器(正向或反向代理),它位于服务前面,并负责可应用于我们服务的良好实践。
因此,我们正在评估市场上可用的不同解决方案,主要是 Nginx 和 Netty。因此,当我们最初对 Nginx 进行研究时,我们遇到了大量正面的博客,这些博客表明 Nginx 非常快,通过编写自定义模块到 Nginx 插件可以轻松配置。
但是当我们在 Netty 上做 POC 时,我们在使用 Netty 4 时得到了更好的性能数据。 所以我想知道是否有人对 Nginx 和 Netty 进行了一些比较,以及不使用 Netty 作为反向的原因是什么/转发代理解决方案。我们担心与 Java Server 解决方案相关的 GC 问题,因此我们想在继续解决方案之前了解 Nginx 和 Netty 的优缺点。
谢谢,维奈。
我不知道详细的比较,因为你不是在这里比较苹果和苹果。Netty 是一个非常低级的 java 框架,而 nginx 是一个几乎完整的代理。我不确定你在 netty 上为你的例子写了什么。如果我自己不做任何测试,我想在 netty 上制作一个比 nginx 更快的功能代理会非常困难。
我认为如果您想要一个简单的代理服务器,您应该使用 nginx,因为它很可能具有基本代理所需的所有功能。nginx 既快速又成熟,因此对于基本用例来说它应该做得很好。
如果您正在查看带有特殊插件的更复杂的代理。也许像速率限制/自定义身份验证等,那么可能值得考虑使用 netty。这些东西可以在 nginx 上构建,但需要使用 Lua 脚本。作为开发人员,您可能更喜欢使用 java。
如果您最终选择使用 netty,请记住您可能需要重新实现复杂的功能,例如后端负载平衡。
我使用了一个写在 netty 上的负载均衡器,所以我不想劝阻你。我只想指出一个是预先编写的优化反向代理,而另一个是您必须从头开始编写的。
| 归档时间: |
|
| 查看次数: |
3278 次 |
| 最近记录: |