栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > 架构设计

个人对网站架构设计的一些理解

架构设计 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

个人对网站架构设计的一些理解

网站架构

看过一些关于网站架构的书,受益匪浅,把书中的内容、自己的笔记拿来与大家分享。我还没有完善完下面的知识点,这篇文章会长期更新。

一、网站架构设计
  1. 网站的基本组件
  2. 网站业务规模增长带来的
  3. 大型网站架构设计的目标和原则
    • 高性能(Performance)
      单个用户和客户端,单个请求的响应时间越短,性能越高

      网站建设和维护者,除了每个请求的响应时间,还有每秒事务次数(TPS),以及服务器的性能指标,包括 CPU 的使用率,内存使用率,IOPS 等。TPS 越高,性能越高

    • 高可用

    • 伸缩性
      理想状况下,在网站业务规模增长/缩小时,可以通过直接添加/减少服务器来满足未来的需求

    • 扩展性

      • 添加新功能,不需要对已有代码或者架构进行大量的修改
      • 添加新功能,假如在已有组件中已经有类似功能,不需要从头搭建类似的功能
      • 添加新功能,不会对没有被修改的网站组件造成影响
      • 添加新功能,不会降低其他网站组件的性能
二、大型网站架构设计的流程
  1. 需求分析
    • 需求驱动的重要性
    • 如何根据需求制定系统目标
  2. 方案设计
    • 与架构设计原则相结合
    • 设计多套备选方案
  3. 方案评估
三、数据库的选择
  1. 关系型数据库
    • 什么是关系型数据库
    • 关系型数据库的优势和应用场景
  2. 非关系型数据库
    • 什么是非关系型数据库
    • 非关系型数据库的优势和应用场景
  3. 常见的关系型数据库产品
    • MySQL
    • MS SQL Server
    • Oracle
  4. 常见的非关系型数据库产品
    • MongoDB
    • DynamoDB
  5. 云数据库
四、数据库优化:分库分表
  1. 什么是分库分表
    • 分库
    • 分表
  2. 为什么要进行分库分表
    • 吞吐量
    • 索引
    • 备份
    • 其他风险
  3. 实现分库分表
    • 垂直分库分表
    • 水平分库分表
  4. 分库分表带来的问题
    • 全局唯一ID
    • 关系型数据库的部分操作
    • 事物支持
五、数据库优化:读写分离
  1. 什么是读写分离
  2. 为什么要进行读写分离
    • 何时需要使用读写分离
    • 读写分离的
  3. 实现读写分离
    • 中间件实现
    • 应用层实现
  4. 读写分离带来的问题
    • 副本的实时性
    • 副本实时性的解决方案
    • 成本问题
六、缓存
  1. 什么是缓存
  2. 缓存策略
    • LFU 缓存策略
    • LRU 缓存策略
    • 缓存策略的优劣
  3. 缓存命中率
  4. 缓存的类型
    • 客户端缓存
    • CDN 缓存
    • 应用缓存
    • 基于分布式集群的缓存
  5. 分布式缓存
    • 分布式缓存的应用场景
    • 分布式缓存的架构设计
  6. 缓存的问题
    • 缓存过热
    • 缓存穿透
    • 缓存雪崩
  7. 常见的缓存系统
    • MemCached
    • Redis
七、动静分离
  1. 动静分离
    • 动态数据和静态数据
    • 动静分离的概念
    • 动静分离的作用
  2. 拆分动态数据和静态数据
    • 识别动态数据和静态数据
    • 改造数据
    • 改造数据要注意的问题
  3. 动静分离的架构设计
    • 动静分离的缓存架构
    • 浏览器缓存
    • CDN 缓存
    • Web 服务器缓存
    • 分布式缓存
    • 页面组装
八、负载均衡
  1. 什么是负载均衡
    • 负载均衡的概念
    • 负载均衡的类型
    • 有负载均衡的网站架构
    • 反向代理
  2. DNS 负载均衡
    • DNS
    • A 记录
    • CName
    • 配置 DNS 负载均衡
    • DNS 负载均衡的优缺点
  3. 硬件负载均衡
  4. 软件负载均衡:LVS
    • LVS 架构
    • LVS 的负载均衡方式
    • LVS 的负载均衡的策略
    • LVS 的调整升级
    • LVS 的优缺点
  5. 软件负载均衡:Nginx
    • Nginx 架构
    • Nginx 工作原理
    • Nginx 的负载均衡策略
    • Nginx 的错误重试
    • Nginx 的调整升级
    • Nginx 的主要特点
    • Nginx 配置实战
  6. 负载均衡的实践流程
    • 回顾流量基本概念
    • 实践流程
九、异步和非阻塞
  1. 异步及其相关概念
    • 同步和异步
    • 阻塞和非阻塞
    • 多线程
  2. 异步和非阻塞的作用
    • 异步和非阻塞的应用场景
    • 异步和非阻塞的架构
    • 异步的优势
  3. 实战:以 Java 为例
    • Runnable
    • Callable
    • Future
    • Executor 和 ExecutorServer
    • 改造同步且阻塞的 Java 代码
  4. 异步和非阻塞带来的问题
    • API 定义
    • 线程池的扩容
十、队列
  1. 队列及其相关概念
    • 队列
    • 生产/消费、发布/订阅与主题
  2. 队列与网站的整合
    • 发布者
    • 订阅者
    • 订阅者:推送模式
    • 订阅者:拉取/轮询模式
  3. 队列的应用
    • 流量控制
    • 服务解耦
  4. 队列存在的问题与解决方案
    • 消息积压
    • 消息的可靠性
    • 消息重复
  5. 常见的队列产品和系统
    • RabbitMQ
    • ActiveMQ
    • RocketMQ
    • Kafka
    • AWS SQS 和 SNS
十一、高可用
  1. CAP 原理
    • 什么是 CAP 原理
    • CAP 原理与网站服务
  2. 服务可用性的标准
  3. 冗余和隔离
    • 扩容中的冗余
    • 广义的冗余
    • 隔离
十二、异地多活
  1. 异地多活的基本概念
    • 基本概念
    • 作用
    • 应用场景
    • 异地多活和负载均衡
  2. 异地多活的类型
    • 同城异地多活
    • 跨城市异地多活
    • 跨地区异地多活
  3. 如何进行异地多活改造
    • 业务分类
    • 数据分类
    • 数据同步
    • 异地多活的数据同步提升方案
十三、服务降级
  1. 服务降级的基本概念
    • 什么是服务降级
    • 单点故障
  2. 微服务与服务拆分
    • 什么是微服务
    • 流量模式
    • 如何拆分服务
  3. 系统分级
    • 分析系统流程图
    • 一级系统
十四、限流
  1. 限流的基本概念
    • 什么是限流
    • 为什么需要限流
    • 限流的几种标准
    • 限流的几种思路
  2. 限流算法
    • 令牌桶算法和漏桶算法
    • 时间窗口算法
    • 队列法
  3. 服务限流需要考虑的问题
    • 性能和准确性
    • 如何进一步提升
  4. 实战:使用 Nginx 限流
十五、下游错误处理
  1. 超时机制
  2. 错误分类
    • 如何分类错误
    • 早期失败
    • 默认值的作用
  3. 错误重试
    • 错误重试的条件
    • 错误重试带来的问题
十六、测试
  1. 测试的类型
    • 一般功能测试
    • 黑盒和白盒测试
    • 不同程度的功能测试
    • 非功能的测试
  2. 测试用例的设计
    • 模拟实际环境
    • 包含错误情况
    • 保证用例多样性
    • 验证系统间的连接性
  3. 功能测试详解
    • 单元测试
    • 集成测试
    • 端到端测试
十七、上线准备
  1. 发布流程
    • 规范化流程
    • 结合测试的流程
    • 自动化的流程
  2. 监控
    • 生产环境度量
    • 监控与警报
  3. 压力测试
    • 压力测试的目的
    • 如何进行压力测试
  4. 灰度发布
    • 什么是灰度发布
    • 灰度发布的条件
  5. 维护人员
    • 应急预案
    • 人工监控
转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/912891.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号