大型网站技术架构-核心原理与案例分析
反向代理与CDN加速网站响应
- CND 部署在网络提供商的机房,使用户在请求网站服务时,可以从距离自己最近的网络提供商机房获取数据
- 反向代理 部署在网站的中心机房,当用户请求到达中心机房后,首先访问的服务器是反向代理服务器,如果反向代理服务器中缓存着用户请求的资源,就将其直接返回给用户
分布式数据库
分布式数据库是网站数据库拆分的最后手段,只有在单表数据规模非常庞大的时候才使用。不到不得已时,网站更常用的数据库拆分手段是业务分库,将不同业务的数据库部署在不同的物理服务器上
分布式方案
- 分布式应用和服务
- 分布式静态资源
- 分布式数据和存储
- 分布式计算
缓存
- CDN
- 反向代理
- 本地缓存
- 分布式缓存
架构要素
- 性能
- 可用性
- 伸缩性
- 扩展性
- 事件驱动
- 分布式服务
- 安全性
服务降级
- 拒绝服务
- 拒绝低优先级应用的调用,减少服务调用并发数,确保核心应用正常使用
- 随机拒绝部分请求调用,节约资源,让一部分请求得以成功
- 关闭功能 关闭部分不重要的服务
分布式缓存的一致性Hash算法
一致性Hash算法通过一致性Hash环的数据结构实现Key到缓存服务器的Hash映射
事件驱动架构
事件驱动架构(Event Driven Architecture),通过在低耦合的模块之间传输事件消息,以保持模块的松耦合,并借助事件消息的通信完成模块间的合作
网络攻击手段
XSS攻击 跨站点校本攻击,黑客通过篡改网页,注入恶意HTML脚本,在用户浏览网页时,控制用户浏览器进行恶意操作的一种攻击方式
- 反射型
- 持久型
注入攻击
- SQL注入
- OS注入
CSRF攻击 攻击者通过跨站请求,以合法用户的身份进行非法操作
大型网站技术架构-核心原理与案例分析
https://bannirui.github.io/2023/02/28/大型网站技术架构-核心原理与案例分析/