# book-web-structure **Repository Path**: shouce/book-web-structure ## Basic Information - **Project Name**: book-web-structure - **Description**: Web 系统架构 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2016-07-13 - **Last Updated**: 2021-11-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 系统架构 1. 《构建高性能 Web 站点》 2. 《构建高可用 Linux 服务器》 3. 《大型网站技术架构:核心原理与案例分析》 4. 《亿级流量网站核心技术:跟开涛学搭建高可用高并发系统》 5. 其他杂七杂八的资料 毕竟还没有真正的大型系统架构设计经验,所知道的,或者说以为知道的,全部来自书籍与博文。 1. 本手册不只对 Web 系统有效,应该对所有大型系统都有效。 所以不应该放在 Web 目录下,以后需要移出重构。 2. 本手册最早是《构建高性能 Web 站点》的读书笔记,所以结构上... WORD | Means | Chinese ---- | ----------------------- | --------------------- SPOF | Single Point Of Failure | 单点故障 - 高性能 - 高可用:High Availability 1. 软硬件适当冗余(Standby),消除单点故障 冗余结点最大的难题就是对于有状态的结点的数据复制和数据一致性的保证(无状态结点的冗余相对比较简单) - 如果系统的数据镜像到冗余结点是异步的,那么在failover的时候就会出现数据差异的情况。 - 如果系统在数据镜像到冗余结点是同步的,那么就会导致冗余结点越多性能越慢。 2. 对故障的检测与恢复 3. 部分不方便冗余的节点 CrossOver,需要保证十分可靠 - 高拓展 1. 要做到数据不丢,就必需要持久化 2. 要做到服务高可用,就必需要有备用(复本),无论是应用结点还是数据结点 3. 要做到复制,就会有数据一致性的问题。 4. 我们不可能做到100%的高可用,也就是说,我们能做到几个9个的SLA。 架构设计三大原则: 1. 适用原则:不能脱离业务谈架构 2. 简单原则: 3. 演化原则: 结构分层:单项依赖(仅允许上层模块依赖下层模块) 模块:独立,解耦 + MQ / 全局事件 代码重用 设计模式 待了解:Severless 和 Faas 概念的具体实现方案