收藏 分享(赏)

浅谈网站架构设计.ppt

上传人:涵涵文库 文档编号:1562886 上传时间:2018-08-05 格式:PPT 页数:26 大小:1.23MB
下载 相关 举报
浅谈网站架构设计.ppt_第1页
第1页 / 共26页
浅谈网站架构设计.ppt_第2页
第2页 / 共26页
浅谈网站架构设计.ppt_第3页
第3页 / 共26页
浅谈网站架构设计.ppt_第4页
第4页 / 共26页
浅谈网站架构设计.ppt_第5页
第5页 / 共26页
点击查看更多>>
资源描述

1、,浅谈网站架构设计,2018/8/5,1,1,ChinaUnix技术沙龙,2018/8/5,2,网站架构是件艺术活儿,要求架构师熟悉网络、系统、代码、数据库,这些环节都很重要!,2018/8/5,3,百万级、千万级、亿级,对程序、文件服务器、数据库、网站架构的要求都是不一样的,我现在做的网站比较关注的有几个方面的内容,PV,UV,并发,并发峰值。,2018/8/5,4,现在的负载均衡器的抗并发能力都很强,所以单纯以这个值来衡量网站是完全不行的,你的前端的硬件F5能抗10万并发,但你后端的中间件或数据库顶不住,这一切都是空谈!,2018/8/5,5,系统架构师应该要做的是提升站点整体的性能、可用

2、性,不止是前端代理,后端应用服务器、数据库、中间件等,都要综合考虑。这个架构里任何一个点存在瓶颈,整体系统处理能力就大打折扣,我们不要让它们之一形成短板效应。,2018/8/5,6,我们应该尽量做到以下几点:一、保证高可用;二、保证高可扩展性;三、尽量把用户往外面推,保证源服务器的压力小。,2018/8/5,7,下面我以现在手上负责的二个网站来说明下今天的主题 一个是以百万级PV访问量设计的,另一个是千万级PV访问量设计的。,2018/8/5,8,2018/8/5,9,2018/8/5,10,如果有硬件防火墙,主机本身的iptalbes可以关掉;如果没有硬件防火墙,建议开启系统本身的 ipta

3、lbes,一个防火墙规则如下:#!/bin/bash iptables -F iptables -F -t nat iptables -Xiptables -P INPUT DROP iptables -P OUTPUT ACCEPT#load connection-tracking modules modprobe iptable_nat modprobe ip_conntrack_ftp modprobe ip_nat_ftpiptables -A INPUT -s 122.70.148.99 -j ACCEPT iptables -A INPUT -s 122.70.148.51 -j

4、ACCEPT iptables -A INPUT -s 222.35.136.151 -j ACCEPTiptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT iptables -A INPUT -m state -state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state -state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p tcp -m multiport -dport 80,22

5、 -j ACCEPTiptables -A INPUT -p icmp -icmp-type echo-request -m limit -limit 1/s -limit-burst 5 -j ACCEPT iptables -A INPUT -p icmp -icmp-type echo-request -j DROP iptables -N syn-flood iptables -A syn-flood -m limit -limit 100/s -limit-burst 150 -j RETURN iptables -A syn-flood -j DROP iptables -I IN

6、PUT -j syn-flood,2018/8/5,11,机房的选择尽量选择BGP机房,双线次之。 网站前端一定要放置硬件防火墙,国内的DDOS攻击非常流行的。 防火墙的模式我们可以选择路由和透明二种,根据具体环境而定。,2018/8/5,12,防火墙我一般是选择用华赛或JUNIPER系列,近期考虑用金盾。,2018/8/5,13,负载均衡器的选择根据它们的特点来挑选即可,LVS的性能最好的,特别是后端的节点超过10个以上时,但它对网络的要求高,而且不能做动静分离,所以我建议将其作为数据库的负载均衡。,2018/8/5,14,HAProxy性能优异,稳定性强,自带强大的监控页面,并且支持动静分

7、离,我们已用HAProxy+Keepalived实现了亿级/日的网站,所以这里也向大家推荐!,2018/8/5,15,现在很多朋友参考淘宝的架构,说最前端一定要放四层负载均衡,这个其实是针对淘宝这种巨量级别(十几亿PV/日)的,我们的网站一般用HAProxy/Nginx+Keepalived基本可以满足的需求。,2018/8/5,16,Apache作为PHP服务器,用于电子商务/电子广告网站非常稳定的,在8G内存的标准配置下,抗并发能力也是非常不错的,并非只有Nginx这一种选择;其实很多集群环境都是由最原先的一台Apache Web服务器发展起来的(公司要求平滑升级)。,2018/8/5,1

8、7,再说下文件服务器层,由于网站的后期宣传策话,名气也越来越大,PV值也越来越高,原先的DRBD+Heartbeat+NFS已经越来越顶不住压力了,这时候我们可以在NFS前面增加一层反向代理缓存。,2018/8/5,18,Squid文件缓存层主要是用来减轻我们后端NFS文件服务器的压力。,2018/8/5,19,另外,分布式文件存储 MFS或GlusterFS现在也是很流行的趋势,它们在缓减文件层的压力方面性能表现优异。,2018/8/5,20,真正的像淘宝级的网站,都是自己开发分布式文件系统,如淘宝的TFS和豆瓣的 DouBanFS。,2018/8/5,21,session共享我们可以用me

9、mcached来实现,其实负载均衡器自身都带了算法,能够实现会话保持,比如HAProxy的balacn source,再比如Nginx的ip_ha sh;其实在大型网站里,一般要求有会话的功能比较少,比如广告类网站。,2018/8/5,22,个人感觉数据库这一层是制约整个网站性能比较关键的一环,我们应该如何设计和架构此层呢?,2018/8/5,23,数据库的压力应该如何来减减轻呢? 一、增加数据库缓存,比如 memcached或redis; 二、将前后台分离出来,针对性后台的查询我们全部转到slave机器上去,这样的话不影响主要业务逻辑。,2018/8/5,24,对网站的逻辑数据库,如www、bbs、blog等,进行分库; 对主要业务数据库,进行数据的水平切分或垂直切分或混合切分。,2018/8/5,25,如果读的压力持续增加,我们还可以考虑master-slaves-slaves级联复制架构。如果读写压力巨大的话,可以考虑自己开发数据库层,例如DoubanDB。,2018/8/5,26,谢谢大家的宝贵时间!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 期刊/会议论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报