大型网站架构原理理解

1.大型网站架构分析

网站在大流量的访问时通过负载均衡将流量分发到各地区、不同性能的服务器上进行处理,有效解决大流量的并发的请求。

架构图:
图片名称
原理

  客户端访问时,通过CDN和DNS加速访问得到回源信息,通过信息将会访问到服务器最外层的路由器和交换机(router),router将访问的流量负载到不同的lvs机器上去,lvs是基于4层的负载均衡器,它不会解析包的内容,但会根据TCP协议修改包的头信息然后转发给接入层(nginx),lvs内部是可以配置一些负载均衡的策略。当流量到达nginx时它会解析包的内容,根据包的service name(即域名)跳转到底层的server服务器,可以根据域名的权重进行server的分配。
  lvs层、接入层、server层之间是存在心跳检测的,其中某台机器异常将会自动减掉。通过这样的集群方式就能确保我们的服务是高可用的。如果当前这个机房挂掉了就需要做双机房的部署。
补充:1.四层负载均衡是基于IP+端口的负载均衡,处在传输层
           2.七层负载均衡是基于URL等应用层信息的负载均衡。这里说的几层的意思都是基于OSI七层模型来说的,自上而下分别是应用层、表示层、会话层、传输层、网络层、数据链路层、物理层

2.nginx 负载均衡算法

1.Round-robin(轮循)
2.Weight-round-robin (带权轮循)
3.Ip-hash(Ip哈希)

带权轮循

原理:

upstream testP{
	server 192.168.1.112:8080  weight=1;#Server A
	server 192.168.1.113:8080  weight=1;#Server B
}

执行顺序图:
在这里插入图片描述

实现代码:

func weight_round_robin(){
	A = A + 1;
	B = B + 3;
	if(A >= B){
		target = A;
		B -= 3;
		A - = 3;
	}else{
		target = B;
		B -= 3;
	}
	return target;
}

完毕!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_earnest

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值