十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
按需求定制开发可以根据自己的需求进行定制,网站设计制作、成都网站制作构思过程中功能建设理应排到主要部位公司网站设计制作、成都网站制作的运用实际效果公司网站制作网站建立与制做的实际意义
负载均衡
# DNS服务器
浏览器使用域名(如www.taobao.com)访问网址,
DNS服务器解析域名,返回一个具体的IP地址
# 硬件负载均衡器(专门开发的负载均衡设备)
获取到ip地址后,客户端向该ip发送http请求,
硬件负载均衡器会将请求分发,发送到具体的后端服务集群
# 软件负载均衡器
后端服务集群收到请求后,软件负载均衡器将请求分发给某个后端服务器,
后端服务器处理请求后,将响应结果返回给客户端
DNS负载均衡
A 记录:保存域名和ip地址之间的映射,以及保存时长
CName:保存真实域名和A记录中主机名之间的映射关系
DNS负载均衡策略
# 不同的DNS服务商可能支持不同的负载均衡策略
加权:一个域名映射到2个主机名,对这两个主机名设置不同的权重
地理位置:优先选择靠近请求位置的主机
延时:优先返回响应时间最短的ip
故障:优先返回故障率最低的ip返回
LVS负载均衡
客户端请求到达lvs集群,lvs选出某个服务器处理请求并返回响应结果
负载均衡实现方式:VS/NAT、VS/TUN、VS/DR
# LVS负载均衡:四层负载均衡(IP层负载均衡)
# VS/NAT(virtual server via network translation):通过网络地址转换实现负载均衡
负载均衡器(调度机)收到客户端请求,请求的源地址cip、目标地址dip
调度机通过算法选择一个服务器处理请求,请求源地址cip、目标地址改写为vip
后端服务器返回相应数据,响应的源地址vip、目标地址cip
请求到达调度机后,源地址修改为vip、目标地址不变
VS/NAT将后端地址完全隐藏,但是请求响应都需要经过调度机中转,延时增大
# VS/TUN(virtual server via ip tunneling):通过ip隧道实现负载均衡
调度机收到客户端请求,此时源地址cip、目标地址vip
调度机在原有请求基础上,封装一层报文,目标地址变为rip
后端服务器收到请求,解析出封装的报文,源地址cip、目标地址vip
后端处理完成后返回响应数据,源地址vip、目标地址cip,不需要经过调度机中转
VS/TUN收到请求时会转发,返回响应时不需要转发,减少延时,但是ip隧道会消耗系统资源
# VS/DR(virtual server via direct routing):直接路由
调度机收到客户端请求,源地址cip、目标地址vip、mac地址为调度机的mac地址
调度机改写请求的mac地址为真实的后端服务器地址,其余不变
后端服务器处理完成后,源地址vip、目标地址cip,直接将请求返回给客户端,不需要经过调度机中转
VS/DR请求响应都不需要经过调度机中转,性能最好,
但是调度机、后端服务器需要在同一网段,对集群拓展有一定限制
# ip说明
cip(client ip):客户端ip地址
vip(virtual ip):虚拟ip,lvs集群与客户端通信的ip
dip(direct ip):调度器ip,lvs集群与后端服务器通信的ip地址
rip(real ip):后端服务器的ip地址
LVS负载均衡策略
轮询:将请求一次发送给后端服务器
加权轮询:给后端服务器设置权重,权重越大的处理的请求数越多
最少连接数:将请求发送给当前请求连接最少的后端服务器
加权最少连接:给后端服务器设置权重,请求发送给加权连接最少的后端服务器
局部最少连接:将请求发送给最近的最少连接的服务器
基于复制的最少连接:与局部最少连接类似,维护ip到一组服务器的映射,防止请求最近的服务器负载过重
源地址hash:根据客户端ip,使用hash算法算出请求转发的服务器
目标地址hash:根据目标ip,使用hash算法算出请求转发的服务器
nginx负载均衡
应用层负载均衡(7层负载均衡):nginx代理后端应用,使用算法将请求转发给后端服务器
nginx 负载均衡策略
轮询:依次将请求发给后端服务器
加权轮询:给后端服务器设置权重,依次发送请求
随机:将请求随机发给后端服务器
加权随机:给后端服务器设置权重,随机发送请求
最少连接数:将请求发送给最少连接的后端服务器
ip hash:根据请求ip进行hash,发送到对应的后端服务器
自定义hash:自定义hash规则(如对请求路径hash),发送给对应的后端服务器
负载均衡选择
负载均衡流量指标
DAU(daily active user):每天活跃的用户数
qps(query per second):每秒请求数
tps(transaction per second):每秒事务数
IOPS(input output per second):每秒输入输出速率
请求连接数:服务端、客户端同一时间建立的连接数
流量:每秒请求数量与请求大小、或者响应数量与响应大小
每秒输入流量= 每秒输入流量数 * 输入流量平均大小
每秒输出流量= 每秒输出流量 + 输出流量平均大小
估算流量
# DAU+连接数、TPS+连接数
假设DAU=1000000,平均每秒用户数 = DAU/(24*60*60)=11.6
每个用户每天操作20次,TPS = 11.6*20 = 232
# tps、连接数
单台服务器大能处理的tps,可用压测获取
高峰时段需要处理的tps = 平时大tps * 3 = 696
高峰时段大处理的连接数 = 高峰时段tps * 2 = 1392
# 假设使用一个nginx、n个后端服务器
tps:nginx的大tps大于696、每台后端服务器*n >696
连接数:nginx大连接数 >1392、每台后端服务器*n >1392
# 集群高可用,冗余备份
考虑到集群的高可用,需要冗余部署,多配制nginx、后端服务器备用,
防止出现单点故障,只配置一个nginx时,nginx服务故障,会导致整个服务不可用
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧