23 | 负载均衡:选择Nginx还是OpenResty?
该思维导图由 AI 生成,仅供参考
- 深入了解
- 翻译
- 解释
- 总结
Nginx与OpenResty是两种流行的负载均衡工具,它们支持系统的扩展和性能提升。负载均衡通过将流量分发给新增的服务器,提升了系统的性能。Nginx以其出色的性能和稳定性成为首选,而OpenResty则是在Nginx基础上构建的,支持嵌入Lua语言,大幅提升了开发效率。负载均衡在系统扩展时,需要根据不同的轴来进行功能分发,包括X轴、Y轴和Z轴。Nginx作为七层负载均衡,能够根据功能来分发请求,而OpenResty则通过嵌入Lua代码实现更高效的开发。Nginx支持C10M级别的并发连接,同时具备良好的模块化设计,可以适配各类协议,包括专有协议如Redis、MySQL等。OpenResty则通过扩展的C模块支持在Nginx中嵌入Lua语言,提高了开发效率。总的来说,Nginx和OpenResty都是强大的负载均衡工具,能够支持系统的扩展和性能提升,而OpenResty则在Nginx的基础上提供了更高效的开发方式。文章还介绍了Nginx和OpenResty之间的差异,包括版本差异、模块间的差异以及如何在二者中进行选择。最后,文章提出了一个思考题,探讨了开源软件构建庞大生态的充分条件。
《系统性能调优必知必会》,新⼈⾸单¥59
全部留言(5)
- 最新
- 精选
- 罐头瓶子我的建议直接用OR即可。nginx 配置文件与lua的编程表达能力还是有挺大差距的!rewrite access 等阶段做URL跳转 还是lua比较好用。另外我认为nginx基本不具备自己生成业务响应的能力(能自己写nginxC模块的另算),而OR则可以完全胜任这个工作。
作者回复: 如果不需要实现动态Server,那么Nginx稳定性上要好许多。Lua语言+Nginx是有学习成本的,如果简单的按照Lua语言写法,很容易破坏Nginx的高并发,或者造成Nginx coredump
2020-07-018 - 石小使用nginx 作为grpc的负载均衡,采用http2的方式总是60s就自动和上游服务器断开连接,grpc_socket_keepalive、grpc_connect_timeout、grpc_read_timeout、grpc_send_timeout参数都设置过了,这种情况正常吗?采用stream的方式不会出现断开的情况
作者回复: 先抓下包,看看断连接(先发FIN或者RST)的是哪方: 1、下游的客户端; 2、上游的服务器; 3、Nginx。
2020-07-176 - 浩仔是程序员老师推荐APISIX新一代网关吗?
作者回复: 它放弃了C模块,仅用Nginx作为网络容器,业务、过滤器皆用lua实现,实现了动态化的配置修改!而且基于etcd实现了SLB集群,如果你对上述功能有需求,可以考虑它,生态也比较活跃,能节省很多时间!
2021-06-0621 - 安排nginx的配置文件中为什么可以配置两个并列的http块儿呢,好像还不报错。
作者回复: 会报错啊,nginx: [emerg] "http" directive is duplicate。你用的是什么版本?
2020-07-011 - Run能落地都好2020-07-302