版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、浅谈网站架构设计 2022-4-811ChinaUnix技术沙龙2022-4-82网站架构是件艺术活儿,要网站架构是件艺术活儿,要求架构师熟悉网络、系统、求架构师熟悉网络、系统、代码、数据库,这些环节都代码、数据库,这些环节都很重要!很重要!2022-4-83百万级、千万级、亿级,对程序、文件服务器、数据库、网站架构的要求都是不一样的,我现在做的网站比较关注的有几个方面的内容,PV,UV,并发,并发峰值。2022-4-84现在的负载均衡器的抗并发能力都很强,所以单纯以这个值来衡量网站是完全不行的,你的前端的硬件F5能抗10万并发,但你后端的中间件或数据库顶不住,这一切都是空谈!2022-4-8
2、5系统架构师应该要做的是提升站点整体的性能、可用性,不止是前端代理,后端应用服务器、数据库、中间件等,都要综合考虑。这个架构里任何一个点存在瓶颈,整体系统处理能力就大打折扣,我们不要让它们之一形成短板效应。2022-4-86我们应该尽量做到以下几点我们应该尽量做到以下几点:一、保证高可用;二、保证一、保证高可用;二、保证高可扩展性;三、尽量把用高可扩展性;三、尽量把用户往外面推,保证源服务器户往外面推,保证源服务器的压力小。的压力小。2022-4-87下面我以现在手上负责的二个网站来说明下今天的主题一个是以百万级PV访问量设计的,另一个是千万级PV访问量设计的。2022-4-882022-4-
3、892022-4-810如果有硬件防火墙,主机本身的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 -s 122.70
4、.148.99 -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 -j ACCEPT
5、 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 150 -j RET
6、URNiptables -A syn-flood -j DROPiptables -I INPUT -j syn-flood 2022-4-811机房的选择尽量选择BGP机房,双线次之。网站前端一定要放置硬件防火墙,国内的DDOS攻击非常流行的。防火墙的模式我们可以选择路由和透明二种,根据具体环境而定。 2022-4-812防火墙我一般是选择用华赛或JUNIPER系列,近期考虑用金盾。2022-4-813负载均衡器的选择根据它们的特点来挑选即可,LVS的性能最好的,特别是后端的节点超过10个以上时,但它对网络的要求高,而且不能做动静分离,所以我建议将其作为数据库的负载均衡。2022-4-814
7、HAProxy性能优异,稳定性强,自带强大的监控页面,并且支持动静分离,我们已用HAProxy+Keepalived实现了亿级/日的网站,所以这里也向大家推荐!2022-4-815现在很多朋友参考淘宝的架构,说最前端一定要放四层负载均衡,这个其实是针对淘宝这种巨量级别(十几亿PV/日)的,我们的网站一般用HAProxy/Nginx+Keepalived基本可以满足的需求。2022-4-816Apache作为PHP服务器,用于电子商务/电子广告网站非常稳定的,在8G内存的标准配置下,抗并发能力也是非常不错的,并非只有Nginx这一种选择;其实很多集群环境都是由最原先的一台Apache Web服务
8、器发展起来的(公司要求平滑升级)。2022-4-817再说下文件服务器层,由于网站的后期宣传策话,名气也越来越大,PV值也越来越高,原先的DRBD+Heartbeat+NFS已经越来越顶不住压力了,这时候我们可以在NFS前面增加一层反向代理缓存。2022-4-818Squid文件缓存层主要是用来减轻我们后端NFS文件服务器的压力。2022-4-819另外,分布式文件存储MFS或GlusterFS现在也是很流行的趋势,它们在缓减文件层的压力方面性能表现优异。2022-4-820真正的像淘宝级的网站,都是自己开发分布式文件系统,如淘宝的TFS和豆瓣的DouBanFS。2022-4-821sessi
9、on共享我们可以用memcached来实现,其实负载均衡器自身都带了算法,能够实现会话保持,比如HAProxy的balacn source,再比如Nginx的ip_hash;其实在大型网站里,一般要求有会话的功能比较少,比如广告类网站。2022-4-822个人感觉数据库这一层是制约整个网站性能比较关键的一环,我们应该如何设计和架构此层呢?2022-4-823数据库的压力应该如何来减减轻呢?一、增加数据库缓存,比如memcached或redis;二、将前后台分离出来,针对二、将前后台分离出来,针对性后台的查询我们全部转到性后台的查询我们全部转到slave机器上去,这样的话不机器上去,这样的话不影响主要业务逻辑。影响主要业务逻辑。2022-4-824对网站的逻辑数据库,如对网站的逻辑数据库,如www、bbs、blog等,进行等,进行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年石河子大学科研处科研助理招聘备考题库及答案详解(易错题)
- 防汛网格员岗位责任制度
- 企业安全监理责任制度
- 扶贫领导分工责任制度
- 平安医院建设责任制度
- 工厂部门主管责任制制度
- 电站安全生产责任制度
- 突发事件校长责任制度
- 路况信息报告责任制度
- 应急局服务安全生产责任制度
- 项目开发计划范本
- 2024版幼儿园课件《儿童的一百种语言》
- 民航服务心理学课件
- 2023海上风电机组支撑结构及升压站结构健康监测技术规范
- GB/T 24421.5-2023服务业组织标准化工作指南第5部分:改进
- 借款审批单模板
- 秸秆颗粒饲料加工项目可行性研究报告
- 中央企业全面风险管理指引总则课件
- 医学导论-医学的起源与发展课件
- 教科版科学六年级下册第一单元测试卷
- 玻璃钢化粪池施工及安装方案
评论
0/150
提交评论