资源介绍
大型网站架构演化
大型网站软件系统的特点
大型网站架构演化发展历程
初始阶段
应用服务和数据服务分离
使用缓存改善网站性能
缓存类型
本地缓存
分布式缓存
缓存产品
redis
业界主流
memcached
解决问题
数据库访问
使用应用服务器集群改善网站的并发处理能力
问题: 负载均衡情况下session状态的保持?
解决方案:
基于DNS的负载均衡
反向代理
ngix
JK2
数据库的读写分离
问题: 读库与写库的数据同步
解决方案: 不同的数据库都有自己的数据库的主从复制功能
使用反向代理与CDN加速网站响应
反向代理产品
ngix
使用分布式文件系统和分布式数据库系统
使用no-sql和搜索引擎
站内搜索
lucene
nutch
分词器
no-sql库
mongodb
hadoop
业务拆分
web service
restful
分布式服务
大型网站架构演化的价值观
核心价值:随网站所需灵活应对
驱动力量:网站的业务发展
网站架构设计误区
一味追随大公司的解决方案
为技术而技术
企图用技术解决一切问题
大型网站架构模式
架构模式
分层
分割
分布式
分布式应用和服务
分布式静态资源
分布式数据和存储
分布式计算
集群
缓存
CDN
反向代理
本地缓存
分布式缓存
异步
冗佘
冷备份
主从分离,实时同步实现热备份
灾备数据中心
自动化
发布过程自动化
ant
maven.
自动化代码管理
svn
cvs
github
自动化测试
loadrunner
hudson.
自动化安全测试
自动化部署
自动化报警
自动化失效转移
自动化失效恢复
自动化降级
自动化分配资源
安全
密码和手机校验码
数据库中的密码加密后存 -> 不可ni -> md5
加密
子主题 1
验证码
防止机器登录
对于攻击网站的XSS攻击,SQL注入,进行编码转换
对垃圾信息,敏感信息进行过滤
对交易转账等重要操作根据交易模式和交易信息进行风险控制
Sina微博的应用
大型网站架构要素
性能
可用性
伸缩性
扩展性
安全性
瞬时响应:网站的高性能架构
网站的性能测试
不同的视角
用户的视角
开发人员的视角
运维人员的视角
性能测试指标
响应时间
并发数
吞吐量
性能测试方法
性能测试
负载测试
压力测试
稳定性测试
web 前端性能优化
浏览器优化
减少http请求
使用浏览器缓存
启用压缩
css上,js下
减少cookie传输, 静态资源使用独立域名访问
CDN加速
反向代理
应用服务器性能优化
分布式缓存
缓存的原理
合理使用缓存
频繁修改的数据
没有热点的访问
数据不一致和脏读
缓存可用性
缓存预热
缓存穿透
缓存架构
jboss cache为代表的需要更新同步的分布式级缓存
以memcached为代表的不互相通信的分布式缓存
异步操作
使用集群
代码优化
多线程
资源复用
单例
对象池
数据结构
垃圾回收
存储性能优化
固态硬盘
RAID与HDFS
万无一失:网站的高可用性
高可性的度量与考核
度量
考核
高可用的网站架构
高可用的应用
高可用的服务
高可用的数据
CAP原理
数据备份
失效转移
高可用网站的软件质量保证
网站发布
自动化测试
预发布验证
代码控制
自动化发布
灰度发布
网站运行临控
临控数据采集
临控管理
永无止境:网站的可伸缩性
网站架构的伸缩性设计
不同功能进行物理分离实现伸缩
单一功能通过集群规模实现伸缩
应用服务器集群的伸缩性设计
http重定向负载均衡
DNS域名解析负载均衡
反向代理负载均衡
ip负载均衡
数据链路层负载均衡
负载均衡算法
分布式缓存集群的伸缩性设计
memcached分布式缓存集群的访问模型
memcached分布式缓存集群的伸缩性挑战
分布式缓存的一致性hash算法
数据存储服务器集群的伸缩性设计
关系数据库集群的伸缩性设计
nosql数据库的伸缩性设计
随需应变:网站的可扩展性
构建可扩展的网站架构
利用分布式消息队列降低系统耦合性
事件驱动架构
分布式消息队列
利用分布式服务打造可复用的业务平台
web service与企业级分布式服务
大型网站分布式服务的需求与特点
分布式服务框架设计
可扩展的数据结构
利用开放平台建设网站生态圈
固若金汤:网站的安全架构
网站应用攻击与防御
XSS攻击
反射型
持久型
防御方法
消毒
httponly
注入攻击
SQL注入攻击
攻击前提
获取数据库结构的方法
防御方法
消毒
参数绑定
OS注入攻击
CSRF攻击
防御方法
表单token
验证码
referer check
1. 网络流量统计
2. 防盗链
error code
html注释
文件上传
web应用防火墙
modsecurity
NEC的 siteshell
网站安全漏洞扫描
信息加密技术及密钥安全管理
案例: ****
信息加密技术分类
单项散列加密
对称加密
非对称加密
密钥安全管理
将密钥和算法放在一个独立的服务器上,对外提供加密和解密服务
密钥放在独立服务器中,算法放在应用程序中。
信息过滤与反垃圾
文本匹配_敏感词过滤
正则表达式
trie树
双数组trie树
多级Hash表
信息降噪
分类算法_内容识别
黑名单
电子商务风险控制
风险
账户风险
买家风险
卖家风险
交易风险
风控
人工
自动
规则引擎
统计模型
案例
网购秒杀系统架构
网购秒杀系统架构