大型网站技术架构:核心原理与案例分析

2017-03-26  本文已影响0人  依米花1993

好书!看了以后对网站的全局有认识了!强烈推荐!


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开发技术发展

上一篇下一篇

猜你喜欢

热点阅读