博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
系统设计之负载平衡介绍
阅读量:6437 次
发布时间:2019-06-23

本文共 1230 字,大约阅读时间需要 4 分钟。

负载平衡(Load balancer)

负载平衡系统将传入的客户端请求分发到计算资源 (如应用程序服务器和数据库)。在每种情况下, 负载平衡服务将处理结果从计算资源附 u返回到相应的客户端。负载平衡器在以下情况下有效:

  • 防止请求进入不健康的服务器
  • 防止重载资源
  • 帮助消除单点故障
    系统设计之负载平衡介绍

负载平衡器可以使用硬件或软件 (如 HAProxy) 来实现, 但相对来说硬件价格会昂贵一些。

其他的优点包括:

  • SSL终端
    可以在负载平衡系统里面对进来的请求进行解密或者对服务器处理完成的结果返回给客户端时进行加密。后端服务器 不必执行这些消耗时间和精力的操作。
  • 会话状态保持
    如果web应用没有保持跟踪会话的状态,可以发出cookies并将特定的客户端请求路由到相同的实例。

为了防止故障, 通常在active-passive和active-active模式下设置多个负载平衡器。

负载平衡器可以根据各种指标路由通信量, 包括

  • 随机
  • 最少加载
  • Session/cookies
  • 循环或加权循环
  • 4层
  • 7层

4层负载平衡

4层负载平衡是在传输层上的服务,根据传输层的信息进行请求分发。通常, 这涉及到源、目标 IP 地址和header中的端口, 而不是数据包的具体内容。4层负载平衡向上游服务器转发网络数据包, 执行网络地址转换 (NAT)。

7层负载平衡

7层负载平衡是在应用层上决定如何分发请求的。这可能涉及头部、消息和 cookie 的内容。7层负载平衡器终止网络通信, 读取消息, 进行负载平衡决策, 然后打开与所选服务器的连接。例如, 7 层负载平衡器可以将视频通信定向到承载视频的服务器, 同时将更敏感的用户计费流量定向到更安全的服务器。

尽管在硬件上的性能损耗比较小,但以灵活性为代价, 4 层负载平衡比7层需要更少的时间和计算资源。

水平缩放(水平扩展)

通过水平缩放,负载平衡可以提高性能和可用性。向系统中的单个节点添加资源 (或从中移除资源), 通常涉及将 cpu 或内存增加到一台计算机上叫做垂直扩展,相比使用商业机器进行扩展具有成本效益, 提高可用性。

水平缩放的缺点

  • 水平缩放会引入复杂性, 并涉及克隆服务器
    1. 服务器应该是无状态的: 它们不应包含任何与用户相关的数据, 如会话或配置文件图片
    2. 会话可以存储在集中式数据存储区 (如数据库 (SQL、NoSQL) 或持久缓存 (Redis、Memcached) 中
  • 下游服务器 (如缓存和数据库) 需要同时处理更多的连接, 因为上游服务器扩容了

负载平衡的缺点

  • 如果负载平衡器没有足够的资源或配置不正确, 则可能会成为性能瓶颈。
  • 引入负载平衡可以帮助消除单点故障,但会增加系统的复杂性的。
  • 单个负载平衡是会造成单点故障, 而配置多个负载平衡机将进一步提高复杂性。
    原文出处:

转载于:https://blog.51cto.com/9681602/2151508

你可能感兴趣的文章
Node.js~ioredis处理耗时请求时连接数瀑增
查看>>
企业如何走出自己的CRM非常之道?
查看>>
整合看点: DellEMC的HCI市场如何来看?
查看>>
联合国隐私监督机构:大规模信息监控并非行之有效
查看>>
韩国研制出世界最薄光伏电池:厚度仅为人类头发直径百分之一
查看>>
惠普再“卖身”,软件业务卖给了这家鼻祖级公司
查看>>
软件定义存储的定制化怎么走?
查看>>
“上升”华为碰撞“下降”联想
查看>>
如何基于Spark进行用户画像?
查看>>
光伏发电对系统冲击大 “十三五”电力规划重点增强调峰能力
查看>>
全球19家值得关注的物联网安全初创企业
查看>>
Android下的junit 单元测试
查看>>
这几个在搞低功耗广域网的,才是物联网的黑马
查看>>
主流or消亡?2016年大数据发展将何去何从
查看>>
《大数据分析原理与实践》一一第3章 关联分析模型
查看>>
《挖掘管理价值:企业软件项目管理实战》一2.4 软件设计过程
查看>>
Capybara 2.14.1 发布,Web 应用验收测试框架
查看>>
ExcelJS —— Node 的 Excel 读写扩展模块2
查看>>
《数字短片创作(修订版)》——第一部分 剧本创作 第1章 数字短片创意技法 剧本创作的构思...
查看>>
MIT 学生挑战新泽西索取挖矿程序源代码的要求
查看>>