好书!看了以后对网站的全局有认识了!强烈推荐!
1.大型网站软件系统的特点:高并发,大流量;高可用;海量数据;用户分布广泛,网络情况复杂;安全环境恶劣;需求快速变更,发布频繁;渐进式发展;
2.网站架构模式:分层,分割
分布式:分布式应用和服务,分布式静态资源,分布式数据和存储,分布式计算,分布式配置,分布式锁,分布式文件系统
集群:多台服务器部署相同应用构成一个集群,通过负载均衡设备共同对外提供服务
缓存:CDN,反向代理,本地缓存,分布式缓存
异步
冗余:冷备份,热备份,灾备数据中心
自动化:发布过程自动化,自动化代码管理,自动化测试,自动化安全检查,自动化部署,自动化监控,自动化报警,自动化失效转移,自动化失效恢复,自动化降级,自动化分配资源
安全:密码,手机验证码,加密,验证码,编码,过滤,风险控制
3.架构:最高层次的规划,难以改变的决定;
软件架构:有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计
架构要素:性能,可用性,伸缩性,扩展性,安全性
4.性能指标:响应时间,并发数,吞吐量,性能计数器(例如系统负载)
性能测试方法:性能测试,负载测试,压力测试,稳定性测试
web前端性能优化:浏览器访问优化(减少HTTP请求,使用浏览器缓存,启用压缩,css在上js在下,减少cookie传输:静态资源使用独立域名),CDN加速,反向代理
应用服务器性能优化:分布式缓存,异步操作,使用集群,代码优化
存储性能优化
5.网站可用性度量:基本可用(两个9),较高可用(3个9),高可用(4个9),极高可用(5个9)
高可用的应用:负载均衡(无状态),session管理(有状态)
高可用的服务:分级管理,超时设置,异步调用,服务降级,幂等性设计
高可用的数据:CAP(一致,可用,分区耐受),备份(冷备份,异步热备份,同步热备份),失效转移
软件质量保证:网站发布,自动化测试,预发布验证,代码控制,自动化发布,灰度发布
网站运行监控:监控数据(用户行为日志,服务器性能监控,运行数据报告),监控管理(系统报警,失效转移,自动优雅降级)
6.应用服务器集群的伸缩性设计:HTTP重定向负载均衡,DNS域名解析负载均衡,反向代理负载均衡,IP负载均衡,数据链路层负载均衡
分布式缓存集群的伸缩性设计
数据储存服务器集群的伸缩性设计
7.可扩展:分布式消息队列,分布式服务,可扩展的数据结构,开放平台
8.XSS攻击:反射型,持久型(防御:过滤,HttpOnly)
注入攻击:SQL注入,OS注入(来源:开源,错误回显,盲注;防御:过滤,参数绑定)
CSRF攻击:(来源:表单Token,验证码,Referer check)
其他攻击:错误回显,HTML注释,文件上传,路径遍历
Web应用防火墙,网站安全漏洞扫描
信息加密技术:单项散列加密,对称加密,非对称加密
信息过滤和反垃圾:文本匹配,分类算法,黑名单
电子商务风险控制:账户风险,卖家风险,买家风险,交易风险(防御:规则引擎,统计模型)
14.领导:寻找一个值得共同奋斗的目标,营造一个让大家都能最大限度发挥自我价值的工作氛围。
是事情成就了人,而不是人成就了事
蓝图
共同参与架构
学会妥协
成就他人
15.发现问题寻找突破,提出问题寻求支持,解决问题达成绩效
16.作用分类:设计型,救火型,布道型,GEEK型
效果分类:夏尔巴人,斯巴达人,达官贵人
职责分类:产品,基础服务,基础设施
关注分类:功能,非功能,团队组织,产品运营,产品未来
口碑分类:最好的,好的,一般的,差的,最差的
非主流分类:普通,文艺,1+1
17.大型网站架构技术
18.web开发技术发展