![]()
内容推荐 余春龙著的《软件架构设计(大型网站技术架构与业务架构融合之道)》系统化地阐述了技术架构与业务架构的方法论与实践。本书内容分为5大部分,第1部分从行业背景出发定义架构的概念与范畴;第2部分细致讨论架构所需的计算机功底,包括编程语言、操作系统、数据库、网络、框架、中间件;第3部分从高并发、高可用、稳定性、分布式事务、Paxos/Raft一致性算法、CAP理论等方面探讨技术架构:第4部分从业务架构思维、微服务、领域驱动设计、技术架构与业务架构融合的角度探讨业务架构;第5部分从个人素质、团队能力两大方面,诠释从技术到管理的转变方法。通过本书,读者可以对大型业务系统的架构方法论有全局的认识,同时对软件架构的核心能力有深刻的理解,对个人的技术成长起到一定的借鉴作用。 本书不仅适合工程师、架构师阅读,也适合企业系统开发人员在内的软件开发从业人员阅读。 作者简介 余春龙,中科院软件所计算机硕士毕业。热衷于高并发高可用架构、业务建模、领域驱动设计,在十年的工作中,经历过游戏、社交、广告、电商等各种类型的项目,积累了较丰富的工程经验。 目录 第1部分 什么是架构 第1章 五花八门的架构师职业 1.1 架构师职业分类 1.2 架构的分类 第2章 架构的道与术 2.1 何为道,何为术 2.2 道与术的辩证关系 第2部分 计算机功底 第3章 语言 3.1 层出不穷的编程语言 3.2 精通一门语言 第4章 操作系统 4.1 缓冲I/O和直接I/O 4.2 内存映射文件与零拷贝 4.2.1 内存映射文件 4.2.2 零拷贝 4.3 网络I/O模型 4.3.1 实现层面的网络I/O模型 4.3.2 Reactor模式与Preactor模式 4.3.3 select、epoll的LT与ET 4.3.4 服务器编程的1+N+M模型 4.4 进程、线程和协程 4.5 无锁(内存屏障与CAS) 4.5.1 内存屏障 4.5.2 CAS 第5章 网络 5.1 HTTP 1.0 5.1.1 HTTP 1.0的问题 5.1.2 Keep-Alive机制与Content-Length属性 5.2 HTTP 1.1 5.2.1 连接复用与Chunk机制 5.2.2 Pipeline与Head-of-line Blocking问题 5.2.3 HTTP/2出现之前的性能提升方法 5.2.4 “一来多回”问题 5.2.5 断点续传 5.3 HTTP/2 5.3.1与HTTP 1.1的兼容 5.3.2 二进制分帧 5.3.3 头部压缩 5.4 SSL/TLS 5.4.1 背景 5.4.2 对称加密的问题 5.4.3 双向非对称加密 5.4.4 单向非对称加密 5.4.5 中间人攻击 5.4.6 数字证书与证书认证中心 5.4.7 根证书与CA信任链 5.4.8 SSL/TLS协议:四次握手 5.5 HTTPS 5.6 TCP/UDP 5.6.1 可靠与不可靠 5.6.2 TCP的“假”连接(状态机) 5.6.3 三次握手(网络2将军问题) 5.6.4 四次挥手 5.7 QUIC 5.7.1 不丢包(Raid5算法和Raid6算法) 5.7.2 更少的RTT 5.7.3 连接迁移 第3部分 技术架构之道 第4部分 业务架构之道 第5部分 从架构到技术管理
|