大型网站技术架构
2020-06-08 10:17:30 0 举报
AI智能生成
大型网站技术架构
作者其他创作
大纲/内容
大型网站架构概述
要求
高可用
高性能
易扩展
可伸缩
高安全
大型网站软件系统特点
高并发,大流量
高可用
海量数据
用户分布广泛,网络情况复杂
安全环境劣势
需求快速变更,发布频繁
渐进式发展
发展阶段
1.1初始阶段
分支主题
1.2应用服务器和数据服务分离
应用服务器(应用程序)
文件服务器(文件)
数据库服务器(数据库)
分支主题
1.3使用缓存改善网站性能
分支主题
1.4应用服务器集群
分支主题
1.5数据库读写分离
分支主题
1.6使用反向代理代理和cdn加速
反向代理
部署在网站的中心机房
cdn
部署在网络提供商的机房,使用户在请求网站数据时可以从距离自己最近的网络提供商机房获取数据
1.7使用分布式数据库和分布式文件系统
1.8使用nosql和搜索引擎
1.9业务拆分
1.10分布式服务
分支主题
这一过程对于服务层来说抽取基础服务
模式
分层
应用层
服务层
数据层
分割
分布式
带来的问题
数据一致性
可用性
开发维护困难
性能
方案
分布式应用和服务
分布式静态资源
分布式数据和存储
NOSQL
分布式计算
Hadoop,mapReduce
分布式配置
分布式锁
分布式文件系统
集群
缓存
反向代理
CDN
本地缓存
分布式缓存集群
异步
分布式消息队列
提高系统可用性
加快网站响应速度
消除并发访问高峰
冗余
数据库冷备份
数据库热备份
灾备数据中心
自动化
发布过程自动化
自动化代码管理
自动化测试
自动化安全检测
自动化部署
自动化监控
自动化报警
自动化失效转移
自动化失效恢复
自动化降级
自动化分配资源
安全
密码和手机校验码进行身份认证
登录,交易等操作需要对网络通信进行加密处理
敏感数据加密处理
验证码防止机器人攻击
XSS攻击,SQL注入进行编码转换处理
垃圾信息,敏感信息过滤处理
交易转账进行风险控制
核心架构要素
性能
性能衡量标准
TPS
相应时间
系统性能计数器
性能测试方法
性能测试
压力测试
负载测试
稳定性测试
性能优化
web前端优化
优化浏览器访问
减少http请求
合并js,cs图片
使用浏览器缓存
启用压缩
css放在页面最上边,js放在最下面
减少cookie传输
cdn加速
反向代理
应用服务器优化
缓存
缓存雪崩
缓存热备
缓存预热
缓存预热
异步操作
消息队列
提高网站的可拓展型
改善网站性能
削峰
使用集群
代码优化
多线程
分支主题
启动线程数=[任务执行时间/(任务执行时间-IO等待时间)]×CPU内核数
存储服务器优化
磁盘使用固态硬盘
合理使用数据结构,索引
可用性
数据和服务的冗余备份和失效转移
高可用应用
应用的无状态性
策略
通过负载均衡进行无状态服务的失效转移
应用服务器集群的Session管理
session绑定
session复制
利用cookie记录session
session服务器集群
高可用服务
分级管理
运维上将服务器进行分级管理
部署上将服务进行隔离
超时设置
异步调用
服务降级
服务幂等性
高可用数据
策略
冗余备份
失效转移
失效确认
心跳检测
应用程序访问失败报告
访问转移
数据恢复
CAP理论
数据一致性
强一致性
最终一致性
数据用户一致
数据可用性
分区耐受性,即可伸缩性
数据备份
冷备份
热备份
异步热备
同步热备
监控
分支主题
Ganglia
伸缩性
应用服务器可伸缩性设计
实现负载均衡技术
http重定向负载均衡
DNS域名解析负载均衡
反向代理负载均衡
数据链路层负载均衡
分支主题
数据链路层负载均衡是指在通信协议的数据链路层修改,mac地址进行负载均衡
LVS
ip负载均衡
分支主题
在网络层通过修改请求目标地址
实现负载均衡算法
轮询
加权轮询
随机
最少连接
源地址散列
分布式缓存的伸缩性设计
一致性hash算法
分支主题
解决上述一致性Hash算法带来的负载不均衡问题,也可以通过使用虚拟层的手段:
一台物理服务器一般虚拟为150个虚拟服务器节点
数据存储服务器伸缩性设计
主从读写分离
分库分表
可扩展性
开闭原则
分布式服务
特性
注册和发现
rpc调用
负载均衡
失效转移
高效远程通信
跨语言调用
实时监控
分布式消息队列
安全性
xss攻击
防止手段
消毒
httpOnly
Sql注入
防止手段
消毒
参数绑定
csrf
防止手段
表单token
验证码
referer check
Web 应用防火墙
ModSecurity
加密
单向散列加密
使用场景
分支主题
这个特性有时也会被用来生成信息摘要、计算具有高离散程度的随机数等用途。
算法
md5
SHA
对称加密
DES算法
RC算法
使用场景
分支主题
在信息需要安全交换或存储的场合,如Cookie加密、通信加密等
非对称加密
使用场景
分支主题
信息安全传输,数字签名等场合
算法
RSA
信息过滤与反垃圾
文本匹配
Trie算法
构造多级hash表
分类算法
贝叶斯分类算法
黑名单
布隆过滤器
秒杀系统
应对措施
秒杀系统独立部署,使用独立域名
秒杀商品页面静态化
租借秒杀活动网络宽带
动态生成随机下单页面url
概念
PV
UV
独立ip
日活跃用户
在线用户量
二八定律
LDNS
SLB
架构师
架构师职责
架构设计
软件开发
管理职能
规划产品路线
估算人力资源和时间资源
安排人员职责分工
确定计划里程碑点
指导工程师工作
过程风险评估与控制
划分
按作用划分
设计型架构师
救火型架构师
布道型架构师
geek架构师
按效果划分
夏尔巴人架构师
斯巴达人架构师
达官贵族架构师
按职责角色划分
产品架构师
基础服务架构师
基础设施架构师
0 条评论
下一页