




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,浅谈网站架构设计,2020/5/27,1,1,ChinaUnix技术沙龙,2020/5/27,2,网站架构是件艺术活儿,要求架构师熟悉网络、系统、代码、数据库,这些环节都很重要!,2020/5/27,3,百万级、千万级、亿级,对程序、文件服务器、数据库、网站架构的要求都是不一样的,我现在做的网站比较关注的有几个方面的内容,PV,UV,并发,并发峰值。,2020/5/27,4,现在的负载均衡器的抗并发能力都很强,所以单纯以这个值来衡量网站是完全不行的,你的前端的硬件F5能抗10万并发,但你后端的中间件或数据库顶不住,这一切都是空谈!,2020/5/27,5,系统架构师应该要做的是提升站点整体的性能、可用性,不止是前端代理,后端应用服务器、数据库、中间件等,都要综合考虑。这个架构里任何一个点存在瓶颈,整体系统处理能力就大打折扣,我们不要让它们之一形成短板效应。,2020/5/27,6,我们应该尽量做到以下几点:一、保证高可用;二、保证高可扩展性;三、尽量把用户往外面推,保证源服务器的压力小。,2020/5/27,7,下面我以现在手上负责的二个网站来说明下今天的主题一个是以百万级PV访问量设计的,另一个是千万级PV访问量设计的。,2020/5/27,8,2020/5/27,9,2020/5/27,10,如果有硬件防火墙,主机本身的iptalbes可以关掉;如果没有硬件防火墙,建议开启系统本身的iptalbes,一个防火墙规则如下:#!/bin/bashiptables-Fiptables-F-tnatiptables-Xiptables-PINPUTDROPiptables-POUTPUTACCEPT#loadconnection-trackingmodulesmodprobeiptable_natmodprobeip_conntrack_ftpmodprobeip_nat_ftpiptables-AINPUT-s9-jACCEPTiptables-AINPUT-s1-jACCEPTiptables-AINPUT-s51-jACCEPTiptables-AINPUT-ilo-jACCEPTiptables-AOUTPUT-olo-jACCEPTiptables-AINPUT-mstate-stateESTABLISHED,RELATED-jACCEPTiptables-AOUTPUT-mstate-stateESTABLISHED,RELATED-jACCEPTiptables-AINPUT-ptcp-mmultiport-dport80,22-jACCEPTiptables-AINPUT-picmp-icmp-typeecho-request-mlimit-limit1/s-limit-burst5-jACCEPTiptables-AINPUT-picmp-icmp-typeecho-request-jDROPiptables-Nsyn-floodiptables-Asyn-flood-mlimit-limit100/s-limit-burst150-jRETURNiptables-Asyn-flood-jDROPiptables-IINPUT-jsyn-flood,2020/5/27,11,机房的选择尽量选择BGP机房,双线次之。网站前端一定要放置硬件防火墙,国内的DDOS攻击非常流行的。防火墙的模式我们可以选择路由和透明二种,根据具体环境而定。,2020/5/27,12,防火墙我一般是选择用华赛或JUNIPER系列,近期考虑用金盾。,2020/5/27,13,负载均衡器的选择根据它们的特点来挑选即可,LVS的性能最好的,特别是后端的节点超过10个以上时,但它对网络的要求高,而且不能做动静分离,所以我建议将其作为数据库的负载均衡。,2020/5/27,14,HAProxy性能优异,稳定性强,自带强大的监控页面,并且支持动静分离,我们已用HAProxy+Keepalived实现了亿级/日的网站,所以这里也向大家推荐!,2020/5/27,15,现在很多朋友参考淘宝的架构,说最前端一定要放四层负载均衡,这个其实是针对淘宝这种巨量级别(十几亿PV/日)的,我们的网站一般用HAProxy/Nginx+Keepalived基本可以满足的需求。,2020/5/27,16,Apache作为PHP服务器,用于电子商务/电子广告网站非常稳定的,在8G内存的标准配置下,抗并发能力也是非常不错的,并非只有Nginx这一种选择;其实很多集群环境都是由最原先的一台ApacheWeb服务器发展起来的(公司要求平滑升级)。,2020/5/27,17,再说下文件服务器层,由于网站的后期宣传策话,名气也越来越大,PV值也越来越高,原先的DRBD+Heartbeat+NFS已经越来越顶不住压力了,这时候我们可以在NFS前面增加一层反向代理缓存。,2020/5/27,18,Squid文件缓存层主要是用来减轻我们后端NFS文件服务器的压力。,2020/5/27,19,另外,分布式文件存储MFS或GlusterFS现在也是很流行的趋势,它们在缓减文件层的压力方面性能表现优异。,2020/5/27,20,真正的像淘宝级的网站,都是自己开发分布式文件系统,如淘宝的TFS和豆瓣的DouBanFS。,2020/5/27,21,session共享我们可以用memcached来实现,其实负载均衡器自身都带了算法,能够实现会话保持,比如HAProxy的balacnsource,再比如Nginx的ip_hash;其实在大型网站里,一般要求有会话的功能比较少,比如广告类网站。,2020/5/27,22,个人感觉数据库这一层是制约整个网站性能比较关键的一环,我们应该如何设计和架构此层呢?,2020/5/27,23,数据库的压力应该如何来减减轻呢?一、增加数据库缓存,比如memcached或redis;二、将前后台分离出来,针对性后台的查询我们全部转到slave机器上去,这样的话不影响主要业务逻辑。,2020/5/27,24,对网站的逻辑数据库,如www、bbs、blog等,进行分库;对主要业务数据库,进行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025抵押借款合同协议模板
- 2025合作伙伴合同转让协议
- 汽修店雇工合同范本
- 遗失补签合同范本
- 装修顶房合同范本
- 2025电影特效制作服务合同
- 小区翻新清洗合同范本
- 配件合作合同范本
- 经委房屋出售合同范本
- 欠款个人担保合同范本
- 巡察整改工作课件模板
- 2025年事业单位工勤技能-河南-河南农机驾驶维修工一级(高级技师)历年参考题库含答案解析(5套)
- 2025年幼儿园教师岗位聘任协议(含资格认证及薪酬激励)
- 成都东部集团有限公司招聘考试真题2024
- 银行收息管理办法
- 海外房产投资项目方案(3篇)
- 初中地理学科课程规划方案
- 定额〔2025〕1号文-关于发布2018版电力建设工程概预算定额2024年度价格水平调整的通知
- 高一英语必修一试卷(含答案)(适合测试)
- 《一次函数的图像》-完整版课件
- 电子束曝光机说明书
评论
0/150
提交评论