螺旋锥蝇
⼤型前端⾼可⽤部署架构
标准化建设
四层的负载均衡就是基于IP+端⼝的负载均衡:在三层负载均衡的基础上,通过发布三层的IP地址(VIP),然后加四层的端⼝号,来决定哪些流量需要做负载均衡,对需要处理的流量进⾏NAT处理,转发⾄后台服务器,并记录下这个TCP或者UDP的流量是由哪台服务器处理的,后续这个连接的所有流量都同样转发到同⼀台服务器处理。 广场雕塑对应的负载均衡器称为四层交换机(L4 switch),主要分析IP层及TCP/UDP层,实现四层负载均衡。此种负载均衡器不理解应⽤协议(如HTTP/FTP/MySQL等等),常见例⼦有:LVS,F5。 2、七层负载均衡
七层的负载均衡就是基于虚拟的URL或主机IP的负载均衡:在四层负载均衡的基础上(没有四层是绝对不可能有七层的),再考虑应⽤层的特征,⽐如同⼀个Web服务器的负载均衡,除了根据VIP加80端⼝辨别是否需要处理的流量,还可根据七层的URL、浏览器类别、语⾔来决定是否要进⾏负载均衡。举个例⼦,如果你的Web服务器分成两组,⼀组是中⽂语⾔的,⼀组是英⽂语⾔的,那么七层负载均衡就可
以当⽤户来访问你的域名时,⾃动辨别⽤户语⾔,然后选择对应的语⾔服务器组进⾏负载均衡处理。
弯而不折对应的负载均衡器称为七层交换机(L7 switch),除了⽀持四层负载均衡以外,还有分析应⽤层的信息,如HTTP协议URI或Cookie信息,实现七层负载均衡。此种负载均衡器能理解应⽤协议,常见例⼦有: haproxy,MySQL Proxy。
前端⼀般采⽤四层负载均衡;
前端采⽤的web服务器⼀般有:
2、CDN缓存
内容分发⽹络(Content Delivery Network,简称CDN)是建⽴并覆盖在承载⽹之上,由分布在不同区域的边缘节点服务器组成的分布式⽹络。
阿⾥⽐较成熟的内容分发以及同步⽅案:能⽀持双11的体量,估计⽬前的地球上的流量估计很难冲垮吧
前端架构设计要点:
裳凤蝶1. vue/react/angular js/ajax矩阵干扰
2. 独⽴的前端部署集(采⽤⾼性能的web服务器)
3. web服务器的不同静态资源的隔离(ModuleLoad):不要讲js、css、html放到⼀起))
4. ⼤规模静态资源推送(可以专门做⼀个服务器来做⼀些动态但是不频繁的数据的下发,最好使⽤长链接netty长链接的⽅式)
5. web服务器(图⽚服务器)⼀定要打开gzip()
6. 客户端浏览器缓存
7. html、img、css、js添加版本号()
8. cdn就近访问
9. 动态页⾯静态化。