|NO.Z.00014|——————————|^^ 构建 ^^|——|多级负载.V1|——|7台server|
一、七层:实现原理

### --- 七层:实现原理
~~~ client发起连接到nginx,nginx把真实连接翻译成它想要获取的数据,
~~~ nginx向后端Apache服务建立完整的TCP连接访问,获得数据之后,再把数据传输给客户端
~~~ 相当于实现了一次反向代理,以反向代理的方式实现负载均衡。
~~~ nginx具有识别主机名和FQ名称的功能,
~~~ 所以它是可以判断后端三台Apache的主机名是谁,或者按照域名的方式进行负载均衡。
~~~ nginx是一个七层负载,每一次client发起请求,
~~~ 它都需要建立两次TCP连接,所以它的压力是比较大的。
二、四层:实现原理

### --- 四层:实现原理
~~~ 使用LVS去实现,该模式是LVS-DR模式构建
~~~ client发送报文到LVS,LVS去判断你的端口和访问的IP,
~~~ 若是这两个匹配的情况下,会把client的发起的数据包转移到后端的服务器上。
~~~ 对应的服务器接收到请求后把对应的数据返回给client
~~~ 判断的依据是端口和VIP,不看域名,只负责入站,做到转发,所以它的压力比较大。
三、总结
### --- 总结:
~~~ 若需要并发大的,通过端口和VIP判定的情况下会选择四层构建
~~~ 若是需要识别到域名的,若做虚拟主机集群的负载均衡的话,会选择七层构建
四、需求:
### --- 需求:
~~~ 公司有两个不同域名的门户网站
~~~ 业务高分期访问量较大,经测试Nginx未能满足并发压力
~~~ 两个门户网站公网地址一致(根据以上条件判定只能选择LVS负载调用)
五、架构

### --- 多级负载:架构
~~~ 最外层方LVS,若使用LVS,中间还有两个不同域名的主机
~~~ client访问进来之后到LVS,LVS根据算法匹配到第一个Nginx,
~~~ Nginx里面设置Vhost虚拟主机级别的负载均衡,去判断你到底访问的主机名是谁。
~~~ 若是www.shangguigu.com-1或者www.shagguigu.com-2的话就会在第一台nginx进行负载均衡,
~~~ 或者是www.shangguigu.cn的话就会直接调度到.cn主机上。这样就实现了七层负载的功能。
六、多级负载构建

### --- 多级负载构建
~~~ 10.10.10.11——>LVS-DR
~~~ 10.10.10.12 10.10.10.13——>两个七层负载nginx,
~~~ 若是生产环境中负载压力更大的情况下,还可以在加入nginx,
~~~ 只要LVS-DR压力没到瓶颈的情况下还是可以继续添加
~~~ 10.10.10.14:com-1 10.10.10.15:com-2 10.10.1016:cn
~~~ ——>3台Apache业务服务器;三台不同的域名去实现不同的结果。
~~~ 客户端通过IE访问www.shagnguigu.com-1后nginx会在com-1和com-2上去轮询,
~~~ 若是访问cn的话就会直接跳转到cn上。
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
cdv001-lbchac
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通