Architecture(四)负载均衡

栏目: 后端 · 发布时间: 6年前

引言

  • 本文介绍几种负载均衡架构及算法。

总体策略

  • DNS负载均衡用于实现地理级别的负载均衡;
  • 硬件负载均衡用于实现集群级别的负载均衡;
  • 软件负载均衡用于实现机器级别的负载均衡;

Architecture(四)负载均衡

硬件负载均衡

  • 类似路由器、交换机;
  • 优点:
    • 支持各种负载均衡算法;
    • 支持100万并发(一般软件负载均衡也就支持10万并发);
    • 很多设备同时支持负载均衡、防火墙、防DDOS攻击功能;
  • 缺点:
    • 价格高昂;

软件负载均衡

  • 优点:
    • 便宜;
    • 维护和部署简单(安装Ngnix软件即可);
  • 缺点:
    • 并发量远小于硬件负载均衡,Linux服务器上装一个Nginx大概能到5万每秒;
    • 一般不具备防火墙、防DDOS攻击等功能;

Architecture(四)负载均衡

DNS负载均衡

  • 实现地理级别的负载均衡;
  • DNS服务器将域名解析为最靠近用户的主机的IP地址,提升访问速度;
  • 缺点:
    • DNS缓存不能及时更新,有可能定位到一个已经移走的主机;
    • 除了映射IP地址,没有提供其他的负载均衡算法和策略;

Architecture(四)负载均衡

均衡算法

  • 轮询:
    • 负载均衡系统收到请求后,按照顺序轮流分配到服务器上;
    • 算法简单,没有考虑机器的状态;
  • 加权轮询:
    • 分给32核机器的概率是分给16核机器的概率的两倍;
    • 考虑了机器性能,但无法根据机器状态动态调整;
  • 负载最低优先:
    • 根据及其具体状态决定负载均衡策略;
    • 考虑:机器连接数、机器的HTTP连接数、CPU占用率、IO占用率;
  • 性能最佳优先:
    • 根据及其具体状态决定负载均衡策略;
    • 考虑:服务器响应时间;
  • Hash:
    • 对源IP地址hash决定任务分配到哪台服务器;
    • 对session ID进行hash决定任务分配到哪台服务器,可以保证同一个会话的包都发送到同一台服务器处理;

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Introduction to Tornado

Introduction to Tornado

Michael Dory、Adam Parrish、Brendan Berg / O'Reilly Media / 2012-3-28 / USD 23.99

Tornado is a scalable, non-blocking web server and web application framework written in Python. It is also light-weight to deploy, fun to write for, and incredibly powerful. Tornado was written with p......一起来看看 《Introduction to Tornado》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

在线进制转换器
在线进制转换器

各进制数互转换器