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

反向代理与CDN加速网站响应

  • CND 部署在网络提供商的机房,使用户在请求网站服务时,可以从距离自己最近的网络提供商机房获取数据
  • 反向代理 部署在网站的中心机房,当用户请求到达中心机房后,首先访问的服务器是反向代理服务器,如果反向代理服务器中缓存着用户请求的资源,就将其直接返回给用户

分布式数据库

分布式数据库是网站数据库拆分的最后手段,只有在单表数据规模非常庞大的时候才使用。不到不得已时,网站更常用的数据库拆分手段是业务分库,将不同业务的数据库部署在不同的物理服务器上

分布式方案

  • 分布式应用和服务
  • 分布式静态资源
  • 分布式数据和存储
  • 分布式计算

缓存

  • CDN
  • 反向代理
  • 本地缓存
  • 分布式缓存

架构要素

  • 性能
  • 可用性
  • 伸缩性
  • 扩展性
    • 事件驱动
    • 分布式服务
  • 安全性

服务降级

  • 拒绝服务
    • 拒绝低优先级应用的调用,减少服务调用并发数,确保核心应用正常使用
    • 随机拒绝部分请求调用,节约资源,让一部分请求得以成功
  • 关闭功能 关闭部分不重要的服务

分布式缓存的一致性Hash算法

一致性Hash算法通过一致性Hash环的数据结构实现Key到缓存服务器的Hash映射

事件驱动架构

事件驱动架构(Event Driven Architecture),通过在低耦合的模块之间传输事件消息,以保持模块的松耦合,并借助事件消息的通信完成模块间的合作

网络攻击手段

  • XSS攻击 跨站点校本攻击,黑客通过篡改网页,注入恶意HTML脚本,在用户浏览网页时,控制用户浏览器进行恶意操作的一种攻击方式

    • 反射型
    • 持久型
  • 注入攻击

    • SQL注入
    • OS注入
  • CSRF攻击 攻击者通过跨站请求,以合法用户的身份进行非法操作


大型网站技术架构-核心原理与案例分析
https://bannirui.github.io/2023/02/28/大型网站技术架构-核心原理与案例分析/
作者
dingrui
发布于
2023年2月28日
许可协议