版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、浅谈网站架构设计 2022-3-2411ChinaUnix技术沙龙2022-3-242网站架构是件艺术活儿,要网站架构是件艺术活儿,要求架构师熟悉网络、系统、求架构师熟悉网络、系统、代码、数据库,这些环节都代码、数据库,这些环节都很重要!很重要!2022-3-243百万级、千万级、亿级,对程序、文件服务器、数据库、网站架构的要求都是不一样的,我现在做的网站比较关注的有几个方面的内容,PV,UV,并发,并发峰值。2022-3-244现在的负载均衡器的抗并发能力都很强,所以单纯以这个值来衡量网站是完全不行的,你的前端的硬件F5能抗10万并发,但你后端的中间件或数据库顶不住,这一切都是空谈!2022
2、-3-245系统架构师应该要做的是提升站点整体的性能、可用性,不止是前端代理,后端应用服务器、数据库、中间件等,都要综合考虑。这个架构里任何一个点存在瓶颈,整体系统处理能力就大打折扣,我们不要让它们之一形成短板效应。2022-3-246我们应该尽量做到以下几点我们应该尽量做到以下几点:一、保证高可用;二、保证一、保证高可用;二、保证高可扩展性;三、尽量把用高可扩展性;三、尽量把用户往外面推,保证源服务器户往外面推,保证源服务器的压力小。的压力小。2022-3-247下面我以现在手上负责的二个网站来说明下今天的主题一个是以百万级PV访问量设计的,另一个是千万级PV访问量设计的。2022-3-24
3、82022-3-2492022-3-2410如果有硬件防火墙,主机本身的iptalbes可以关掉;如果没有硬件防火墙,建议开启系统本身的 iptalbes,一个防火墙规则如下:#!/bin/bashiptables -Fiptables -F -t natiptables -Xiptables -P INPUT DROPiptables -P OUTPUT ACCEPT#load connection-tracking modulesmodprobe iptable_natmodprobe ip_conntrack_ftpmodprobe ip_nat_ftpiptables -A INPUT
4、 -s 9 -j ACCEPTiptables -A INPUT -s 1 -j ACCEPTiptables -A INPUT -s 51 -j ACCEPTiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPTiptables -A INPUT -m state -state ESTABLISHED,RELATED -j ACCEPTiptables -A OUTPUT -m state -state ESTABLISHED,RELATED
5、 -j ACCEPT iptables -A INPUT -p tcp -m multiport -dport 80,22 -j ACCEPTiptables -A INPUT -p icmp -icmp-type echo-request -m limit -limit 1/s -limit-burst 5 -j ACCEPTiptables -A INPUT -p icmp -icmp-type echo-request -j DROPiptables -N syn-floodiptables -A syn-flood -m limit -limit 100/s -limit-burst
6、150 -j RETURNiptables -A syn-flood -j DROPiptables -I INPUT -j syn-flood 2022-3-2411机房的选择尽量选择BGP机房,双线次之。网站前端一定要放置硬件防火墙,国内的DDOS攻击非常流行的。防火墙的模式我们可以选择路由和透明二种,根据具体环境而定。 2022-3-2412防火墙我一般是选择用华赛或JUNIPER系列,近期考虑用金盾。2022-3-2413负载均衡器的选择根据它们的特点来挑选即可,LVS的性能最好的,特别是后端的节点超过10个以上时,但它对网络的要求高,而且不能做动静分离,所以我建议将其作为数据库的负载
7、均衡。2022-3-2414HAProxy性能优异,稳定性强,自带强大的监控页面,并且支持动静分离,我们已用HAProxy+Keepalived实现了亿级/日的网站,所以这里也向大家推荐!2022-3-2415现在很多朋友参考淘宝的架构,说最前端一定要放四层负载均衡,这个其实是针对淘宝这种巨量级别(十几亿PV/日)的,我们的网站一般用HAProxy/Nginx+Keepalived基本可以满足的需求。2022-3-2416Apache作为PHP服务器,用于电子商务/电子广告网站非常稳定的,在8G内存的标准配置下,抗并发能力也是非常不错的,并非只有Nginx这一种选择;其实很多集群环境都是由最原
8、先的一台Apache Web服务器发展起来的(公司要求平滑升级)。2022-3-2417再说下文件服务器层,由于网站的后期宣传策话,名气也越来越大,PV值也越来越高,原先的DRBD+Heartbeat+NFS已经越来越顶不住压力了,这时候我们可以在NFS前面增加一层反向代理缓存。2022-3-2418Squid文件缓存层主要是用来减轻我们后端NFS文件服务器的压力。2022-3-2419另外,分布式文件存储MFS或GlusterFS现在也是很流行的趋势,它们在缓减文件层的压力方面性能表现优异。2022-3-2420真正的像淘宝级的网站,都是自己开发分布式文件系统,如淘宝的TFS和豆瓣的DouB
9、anFS。2022-3-2421session共享我们可以用memcached来实现,其实负载均衡器自身都带了算法,能够实现会话保持,比如HAProxy的balacn source,再比如Nginx的ip_hash;其实在大型网站里,一般要求有会话的功能比较少,比如广告类网站。2022-3-2422个人感觉数据库这一层是制约整个网站性能比较关键的一环,我们应该如何设计和架构此层呢?2022-3-2423数据库的压力应该如何来减减轻呢?一、增加数据库缓存,比如memcached或redis;二、将前后台分离出来,针对二、将前后台分离出来,针对性后台的查询我们全部转到性后台的查询我们全部转到slave机器上去,这样的话不机器上去,这样的话不影响主要业务逻辑。影响主要业务逻辑。2022-3-2424对网站的逻辑数据库,如对网站的逻辑数据库,如www、bbs、blog等,进行等,进行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 招投标现场管理制度
- 潞安职业技术学院《安全经济学》2023-2024学年第一学期期末试卷
- 软件测试解约协议书
- 2024年标准夫妻自愿解除婚姻关系合同书模板版B版
- 2024年智能交通信号系统弱电施工与监理合同3篇
- 交通运输设备内部招投标规程
- 水上检疫安全管理办法
- 汽车制造业项目部劳务管理办法
- 2025品牌顾问聘请合同版范本
- 2024年有子女离婚协议书:财产与抚养权安排3篇
- 2024年度电商平台商家入驻协议
- 河北省石家庄市2023-2024学年六年级上学期期末科学试卷(含答案)
- 中国儿童呼吸道合胞病毒感染诊疗及预防指南(2024医生版)解读课件
- 幕墙施工重点难点及解决方案
- 年度成本管控的实施方案
- 2024年中国板钉式空气预热器市场调查研究报告
- 人教版八年级上册数学期末考试试卷附答案
- DB1331T 041-2023 雄安新区绿色街区规划设计标准
- 北京市海淀区2022届高三上学期期末考试政治试题 含答案
- 初中七年级主题班会:如何正确对待自己的错误(课件)
- 中华民族共同体概论学习通超星期末考试答案章节答案2024年
评论
0/150
提交评论