文章目录

  • 关于负载均衡
  • 1、Nginx
  • 2、LVS
  • 3、HAProxy
  • 总结

关于负载均衡

主流负载均衡的开源方案:Nginx、LVS、HAProxy
目前关于网站架构一般比较合理流行的架构方案:
Web前端采用Nginx/HAProxy+ Keepalived作负载均衡器;
后端采用 MySQL数据库一主多从和读写分离,采用LVS+Keepalived的架构。

1、Nginx

应用场景:小规模的web应用网站

  • 优点:
    工作在七层,可针对http做分流策略。
    对网络依赖小
    支持几万次的并发
    安装配置简单
  • 缺点:
    只能支持http/https协议
    只能通过端口检查后端服务器健康度,不支持url检测

2、LVS

使用Linux内核集群实现一个高性能、高可用的负载均衡服务器
应用场景:应用范围比较广,因为LVS工作在4层,所以它几乎可以对所有应用做负载均衡,包括http、数据库、在线聊天室等等

  • 优点:
    抗负载能力强、是工作在网络4层之上仅作分发之用,LVS只分发请求,没有流量的产生,负载均衡里性能最强
    工作稳定,因为其本身抗负载能力很强,自身有完整的双机热备方案,如LVS+Keepalived
  • 缺点:
    软件本身不支持正则表达式处理,不能做动静分离。网页动静分离只能使用Nginx/HAProxy+Keepalived的优势所在
    有Windows服务时,实施较复杂

3、HAProxy

应用场景:大型web应用

  • 优点:HAProxy的优点能够补充Nginx的一些缺点,比如支持Session的保持,Cookie的引导;同时支持通过获取指定的url来检测后端服务器的状态。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。
    同时,HAProxy是支持虚拟主机的。

总结

像对于大型的,需要进行高并发的网站或者对网络不太严格的时候,可以使用nginx。
而负载均衡架构的选择,也是看公司的架构演变:
第一阶段:利用Nginx或HAProxy进行单点的负载均衡,这一阶段服务器规模刚脱离开单服务器、单数据库的模式,需要一定的负载均衡,但是仍然规模较小没有专业的维护团队来进行维护,也没有需要进行大规模的网站部署。这样利用Nginx或HAproxy就是第一选择,此时这些东西上手快, 配置容易,在七层之上利用HTTP协议就可以。这时是第一选择。

第二阶段:随着网络服务进一步扩大,这时单点的Nginx已经不能满足,这时使用LVS就是首要选择,Nginx此时就作为LVS节点来使用,具体LVS的是选择是根据公司规模和预算来选择。

第三阶段:这时网络服务已经成为主流产品,此时随着公司知名度也进一步扩展,相关人才的能力以及数量也随之提升,这时无论从开发适合自身产品的定制,以及降低成本来讲开源的LVS,已经成为首选,这时LVS会成为主流。
最终形成比较理想的基本架构为:
LVS+Keepalived——Nginx/HAProxy—— web server——LVS+keepalived

架构笔记:随笔,关于常见负载均衡架构对比及演变相关推荐

  1. 面试90%都会翻车的高可用+高并发+负载均衡架构设计 !

    很多人面试的时候被问到一个让人特别手足无措的问题: 你的系统如何支撑高并发? 对于一个公司而言,"为什么要高可用" 关于负载均衡架构设计你了解多少? 大多数同学被问到这个问题压根儿 ...

  2. 浅谈大型网站之负载均衡架构

    转载自 浅谈大型网站之负载均衡架构 概念 负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器.FTP服务器.企业关键应用服务器和其它关键任务服务器等 ...

  3. 详解【负载均衡】(负载均衡算法、一致性hash、负载均衡架构分析)

    作者:duktig 博客:https://duktig.cn 优秀还努力.愿你付出甘之如饴,所得归于欢喜. 本文源码参看:https://github.com/duktig666/distribute ...

  4. 很全!浅谈几种常用负载均衡架构

    阅读本文大概需要 9 分钟. 作者:Kingreatwill 链接:http://t.cn/Ea8JcrS 什么是负载均衡(Load balancing) 在网站创立初期,我们一般都使用单台机器对台提 ...

  5. 架构师之路 — 部署架构 — 超大规模负载均衡架构演进

    目录 文章目录 目录 超大规模负载均衡架构演进技术路线 0.单机架构 1.HTTP 与 DB 服务器分开部署 2.引入本地缓存和分布式缓存 3.引入反向代理实现负载均衡 4.数据库读写分离 5.数据库 ...

  6. Java开源生鲜电商平台-Java分布式以及负载均衡架构与设计详解(源码可下载)

    Java开源生鲜电商平台-Java分布式以及负载均衡架构与设计详解(源码可下载) 说明:主要是针对一些中大型的项目需要进行分布式以及负载均衡的架构提一些思路与建议. 面对大量用户访问.高并发请求,海量 ...

  7. 负载均衡是什么?-高负载均衡架构

    负载均衡是什么 负载均衡:让用户的请求均匀的分布在每台服务器上.   每台服务器上搭载web服务,将dns域名,指向这台nginx服务器的IP 使用proxy_pass配合upstream来实现简单的 ...

  8. 阿里云负载均衡SLB网络型NLB负载均衡架构性能详解

    阿里云网络型负载均衡NLB是阿里云推出的新一代四层负载均衡,支持超高性能和自动弹性能力,单实例可以达到1亿并发连接,帮您轻松应对高并发业务.网络型负载均衡NLB具有超强性能.自动弹性伸缩.高可用.TC ...

  9. 算法高级(13)-常见负载均衡算法Java代码实现

    我们在分布式系统常见负载均衡算法中对负载均衡及负载均衡算法进行了介绍,接下来我们用代码对常见的几种算法进行实现. 本文讲述的是"将外部发送来的请求均匀分配到对称结构中的某一台服务器上&quo ...

最新文章

  1. 自动驾驶产业链全景图
  2. Amazon、Google、 Microsoft和IBM如何将人工智能作为一项服务出售
  3. redis 判断存在性_实战 | springboot+redis+拦截器 实现接口幂等性校验
  4. Qt入门(3)——信号和槽
  5. 团队冲刺第六天个人博客
  6. 一个openMP编程处理图像的示例
  7. AutoLISP 绘制表情图案
  8. Invoke and BeginInvoke BeginInvoke和EndInvoke方法 (转)
  9. 数字图像处理冈萨雷斯——开始
  10. paip.手机电话本备份导入到pc管理attilax总结
  11. 多商家点餐小程序源码
  12. Java导出word模板
  13. 认知升级是令我们变得优秀的重要基石,没有之一
  14. 破解水卡教程 超详细
  15. 60种提升自身能量的方法
  16. 什么是Blazor?
  17. 阿里携“骑呗”入局共享单车,好戏即将开始
  18. 找朋友(斗地主)判断逻辑
  19. 详解T507 核心板引脚功能修改指引-飞凌嵌入式
  20. failure: repodata/repomd.xml from docker-main-repo: [Errno 256] No more mirrors to try.

热门文章

  1. Matlab保存与原图同样大小的图像
  2. 对对DllRegisterServer的调用失败,错误代码为0x8007005的解决办法
  3. LeetCode—Python—1—两数之和 easy
  4. idea每次修改java都要重启_IDEA修改java代码、Thymeleaf的html模板需要重启
  5. 简单的Windows登陆界面设计
  6. 装cartographer
  7. IDEA 导入别人的javaweb项目进行部署
  8. web前端开发笔记46-71,78-83 2022/11/04
  9. 树形结构(1)(Java语言)——树的基本概念
  10. 大数据预科班作业10