社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  NGINX

HAProxy、Nginx、LVS 三者该怎样选择?

twt企业IT社区 • 2 月前 • 76 次点击  

社区探讨,供大家参考:



haproxy 、nginx 、lvs如何选择使用?
1.haproxy和nginx都可以用作七层负载均衡,什么时候用nginx,什么时候用haproxy呢?
2. lnmt的架构,使用nginx做负载,还是haproxy
3.  Web 前端采用 Nginx/HAProxy+Keepalived 作负载均衡器;后端采用 MySQL数据库一主多从和读写分离,采用 LVS+Keepalived 的架构。企业中这种架构使用如何?有啥优势吗?

问题来自社区会员@烟波刀客,以下内容来自社区同行探讨,不代表社区倾向性



@Luga Lee 系统架构师:

1.可以从如下方面考虑:

(1)应用场景:如果部署环境是高流量和高并发的Web应用程序,且需要对请求进行更复杂的路由和分配,那么haproxy可能更适合。如果部署环境更加简单,只需要较为基本的反向代理和负载均衡功能,那么nginx可能更合适。

(2)易用性:haproxy的配置文件相对于nginx来说更为复杂,但也更加灵活,配置更加精细,可以满足更高级的需求。nginx则更加简单易用,配置文件更加直观和易于理解。

2.LNMT:Linux、Nginx、MySQL、Tomcat

这种架构都是之前传统的虚拟机架构,基本上已经或逐渐淘汰了。

3. 采用LVS+Keepalived作为后端负载均衡器的架构方案,具有高可用性、高性能、可扩展性和灵活性等优势,适用于传统虚拟机生态环境下大型企业的Web应用程序和数据库系统。

@waring_id 美宜佳 系统架构师:

1.需要保持 session和 cookie 的应用使用 haproxy ,其它场景用 nginx

2.lnmt 中n 指的就是 nginx ,想想为什么不是 lpmt

3.除了这种方案外,还会有哪些开源方案比这个更成熟稳定的吗

@ChatGPT回答(供参考):

haproxy和nginx都可以用作七层负载均衡,但是它们的设计目标和特点不同。haproxy更专注于负载均衡和高可用性,支持更多的负载均衡算法,能够更好地处理TCP和HTTP协议,适用于高并发、高性能的场景。nginx则更注重反向代理和Web服务器的功能,支持更多的Web服务相关的功能,如缓存、SSL加速等,适用于Web应用场景。

lnmt架构中,使用nginx做负载均衡是比较常见的做法。nginx具有高性能、低资源消耗、易于配置等优点,适合用于反向代理和负载均衡。haproxy也可以用于负载均衡,但相对于nginx来说,haproxy更适合处理TCP协议,适用于高并发、高可用性的场景。

Web前端采用Nginx/HAProxy+Keepalived作负载均衡器;后端采用MySQL数据库一主多从和读写分离,采用LVS+Keepalived的架构,这种架构可以提供高可用性、高性能和可扩展性。前端使用Nginx/HAProxy作为负载均衡器,可以将请求分发到多个后端服务器上,提高了系统的并发处理能力和可用性。后端使用MySQL数据库一主多从和读写分离,可以提高数据库的读写性能和可用性。使用LVS+Keepalived的架构,可以将请求分发到多个后端服务器上,提高了系统的可用性和可扩展性。整个架构的优势在于提供了高可用性、高性能和可扩展性,适用于高并发、高可用性的Web应用场景。

您怎么看?
欢迎探讨
欢迎点击文末阅读原文到社区阅读和讨论交流,发表您的看法

觉得本文有用,请转发或点击在看,让更多同行看到

 资料/文章推荐:


欢迎关注社区以下 “高可用”技术主题 ,将会不断更新优质资料、文章。地址:

https://www.talkwithtrend.com/Channel/191


下载 twt 社区客户端 APP


长按识别二维码即可下载

或到应用商店搜索“twt”


长按二维码关注公众号

*本公众号所发布内容仅代表作者观点,不代表社区立场

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/171754
 
76 次点击