web架构

演化:初始阶段-->应用服务和数据服务分离-->分布式缓存-->负载均衡的服务器集群-->数据库读写分离 -->CDN和反向代理-->分布式文件和数据库系统-->NoSQL和搜索引擎-->业务拆分-->分布式服务

模式:

分层:(应用层  服务层  数据层)-->分割-->分布式(应用和服务 静态资源 数据和存储 计算 锁)-->集群-->缓存(CDN 反向代理 本地缓存 分布式缓存)-->异步(ajax gearman rabbitmq |削峰)-->冗余(冷/热备份)-->自动化(自动化发布-代理管理-测试-安全-部署-报警-失效转移-失效恢复-降级-分配资源)-->安全(密码和手机 加密 验证码 攻击--xss sql注入 编码 信息过滤 风险控制)  故障(日志 高并发锁和读写 缓存失效  应用启动 大文件读写 生产环境滥用)

 

要素:性能(缓存) 可用性(负载) 伸缩性(分片) 扩展性(分布式) 安全性(注入)

 

网站性能:压力测试=》指标-吞吐量+并发+响应时间  |   web优化=web+cdn+反向代理 and  server优化=缓存+异步+集群+代码

 

数据可用:

故障->架构=冗余+转移 

===================分层=========================

服务(分级管理 超时设置  异步调用 服务降级 幂等性设计) 

数据(一致性+备份+失效转移) 

================================================

发布(提交发布请求-->QA确认 安全确认 DBA确认-->代码合并-->预发布验证-->正式发布)

监控(用户行为+机器运行+计算数据)

 

集群伸缩:应用服务器(http dns  反向代理 数据链路 | 负载算法) 数据服务器(cobar) 分布式缓存(memcache)  NoSQL伸缩(hbase)

 

功能扩展:分布式的消息队列(CI模式,生产者同步多个消费者) 分布式服务(代码拆分 webservice 分布式架构:生产者给消费者提供可供调用服务器) 数据(nosql,免除了结构化查询,不定义字段名和类型)

 

网络安全:

注入 :csrf xss mysql注入 passwd破解

风控 

风险 :账户 买家 卖家  交易

控制:规则引擎(基于交易请求和历史数据,通过业务规则过滤出高风险和低风险) 统计模型 (通过采集各类交易信息通过数据加工进一步获取具体交易敏感信息,由分类算法打分

 

网站架构:

--秒杀

 

挑战:现有业务  高并发数据负载 突然增加的带宽  直接下单

策略:秒杀独立部署 页面静态化 租借网络带宽  动态生成下单页面URL

架构:

类型:cdn 定时服务器linux js服务器ligthttp 秒杀服务器apache 下单服务器Jetty 全局技术服务器memcache 订单处理系统

流程:

用户通过cdn刷新秒杀页面,每次刷新都加在一次js,

到了秒杀时间定时服务器生成新的js并推送到js服务器,用户获取后提交到秒杀服务器,

点击购买后进入下单服务器,

下单服务器查看本机已处理下单数目,超过10个就显示结束,没超过用户可点击提交按钮,检查所有已提交订单数目,超过秒杀商品总数显示已结束,没超过提交到订单子系统

 

常见故障:

写日志,级别太低的报警不要写入,不然会占满磁盘

高并发访问数据库,首页不应访问数据库

高并发锁机制,加锁会导致响应超时

缓存,不重视缓存会增加数据库负担

应用启动不同步,服务启动先后顺序要明确

大文件读写,比如图片文件应该单独存放,和大文件在一起会导致读写缓慢

生产环境滥用,比如私自更改sql语句,没有进行code review 导致代码没有实时更新,不良编程习惯导致对边界(null empty)等没处理的报错等

 

 

管理:规划产品路线 估算人力和时间资源 安排分工 确定里程碑 指导工作 风险评估 | 技术架构 功能模块划分 技术风险

 

 

大型网站技术:

前端架构,  浏览器 cdn 东京分离 图片 反向代理 dns

应用架构, 开发框架 页面选软 负载均衡 session管理 页面静态化 业务拆分 虚拟服务器

服务层架构, 分布式消息 分布式服务 分布式缓存  分布式配置 

存储层架构, 分布式文件 关系数据库  NoSQL数据库 数据同步

后台架构, 搜索引擎 数据仓库 推荐系统 

数据采集与监控架构, 浏览器数据采集 服务器业务数据采集 服务器性能数据采集 系统报警

安全架构, web攻击 数据保护

数据机中心机房架构, 机房架构 机柜架构 服务器架构

 

mvc架构流程:

http请求 (浏览器发给web服务器)  

统一处理http请求(web服务器发给控制器) 

获取请求数据(控制器发给http请求对象) 

业务逻辑处理(控制器发给模型) 

选择视图(控制器跳转到视图) 

添加视图数据(控制器发给http对象)

跳转到视图(控制器访问web服务器)

获取视图数据(视图发给http请求对象,http请求对象发给web服务器) 

http响应(web服务器发给浏览器)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值