登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書

『簡體書』软件架构设计:大型网站技术架构与业务架构融合之道

書城自編碼: 3314511
分類:簡體書→大陸圖書→計算機/網絡程序設計
作者: 余春龙
國際書號(ISBN): 9787121356032
出版社: 电子工业出版社
出版日期: 2019-01-01


書度/開本: 16开 釘裝: 平塑勒

售價:HK$ 106.7

我要買

 

** 我創建的書架 **
未登入.


新書推薦:
多卖三倍
《 多卖三倍 》

售價:HK$ 54.0
哲学思维:清晰思考的12条关键原则
《 哲学思维:清晰思考的12条关键原则 》

售價:HK$ 82.8
海盗之书
《 海盗之书 》

售價:HK$ 81.6
亲美与反美:战后日本的政治无意识
《 亲美与反美:战后日本的政治无意识 》

售價:HK$ 69.6
亲爱的安吉维拉:或一份包含15条建议的女性主义宣言
《 亲爱的安吉维拉:或一份包含15条建议的女性主义宣言 》

售價:HK$ 58.8
理想国译丛064:狼性时代:第三帝国余波中的德国与德国人,1945—1955
《 理想国译丛064:狼性时代:第三帝国余波中的德国与德国人,1945—1955 》

售價:HK$ 122.4
海外中国研究·明清中国的经济结构
《 海外中国研究·明清中国的经济结构 》

售價:HK$ 153.6
理想国译丛018:活着回来的男人:一个普通日本兵的二战及战后生命史(2024版)
《 理想国译丛018:活着回来的男人:一个普通日本兵的二战及战后生命史(2024版) 》

售價:HK$ 110.4

 

內容簡介:
本书系统化地梳理了软件架构的方法论与实践。通过本书,读者可以对业务软件的架构方法学有一个全局的认识,同时对软件架构需要的核心能力有深刻的理解,对个人的技术成长之路起到一定借鉴作用。本书内容包括大规模分布式架构涉及的语言、框架、中间件等内容,同时本书将跳出某种具体的语言框架来总结梳理架构的核心思维,这种思维适用于用任何一种语言框架解决任何一种业务问题。
關於作者:
毕业于中国科学院软件研究所,在软件业有近十年的工作经验,对于高并发分布式架构和高复杂的业务系统架构有深刻的理解和经验。在大型互联网公司做过架构师,也连续多年在创业公司做CTO,对于技术、业务、管理的3者关系有透彻的理解和清晰的认识。
目錄
目录
第1部分什么是架构
第1章五花八门的架构师职业2
1.1架构师职业分类2
1.2架构的分类2
第2章架构的道与术5
2.1何为道,何为术5
2.2道与术的辩证关系6
第2部分计算机功底
第3章语言10
3.1层出不穷的编程语言10
3.2精通一门语言10
第4章操作系统12
4.1缓冲IO和直接IO12
4.2内存映射文件与零拷贝14
4.2.1内存映射文件14
4.2.2零拷贝15
4.3网络IO模型17
4.3.1实现层面的网络IO模型17
4.3.2Reactor模式与Preactor模式20
4.3.3select、epoll的LT与ET20
4.3.4服务器编程的1 N M模型22
4.4进程、线程和协程24
4.5无锁(内存屏障与CAS)27
4.5.1内存屏障27
4.5.2CAS30
第5章网络31
5.1HTTP 1.031
5.1.1HTTP 1.0的问题31
5.1.2Keep-Alive机制与Content-Length属性31
5.2HTTP 1.132
5.2.1连接复用与Chunk机制32
5.2.2Pipeline与Head-of-line Blocking问题33
5.2.3HTTP2出现之前的性能提升方法34
5.2.4一来多回问题35
5.2.5断点续传36
5.3HTTP236
5.3.1与HTTP 1.1的兼容37
5.3.2二进制分帧37
5.3.3头部压缩39
5.4SSLTLS39
5.4.1背景39
5.4.2对称加密的问题40
5.4.3双向非对称加密41
5.4.4单向非对称加密42
5.4.5中间人攻击43
5.4.6数字证书与证书认证中心44
5.4.7根证书与CA信任链45
5.4.8SSLTLS协议:四次握手47
5.5HTTPS48
5.6TCPUDP49
5.6.1可靠与不可靠49
5.6.2TCP的假连接(状态机)51
5.6.3三次握手(网络2将军问题)53
5.6.4四次挥手54
5.7QUIC56
5.7.1不丢包(Raid5算法和Raid6算法)57
5.7.2更少的RTT58
5.7.3连接迁移58
第6章数据库59
6.1范式与反范式59
6.2分库分表59
6.2.1为什么要分60
6.2.2分布式ID生成服务60
6.2.3拆分维度的选择60
6.2.4Join查询问题61
6.2.5分布式事务61
6.3B 树62
6.3.1B 树逻辑结构62
6.3.2B 树物理结构63
6.3.3非主键索引65
6.4事务与锁66
6.4.1事务的四个隔离级别66
6.4.2悲观锁和乐观锁67
6.4.3死锁检测71
6.5事务实现原理之1:Redo Log72
6.5.1Write-Ahead73
6.5.2Redo Log的逻辑与物理结构74
6.5.3Physiological Logging75
6.5.4IO写入的原子性(Double Write)76
6.5.5Redo Log Block结构77
6.5.6事务、LSN与Log Block的关系78
6.5.7事务Rollback与崩溃恢复(ARIES算法)80
6.6事务实现原理之2:Undo Log86
6.6.1Undo Log是否一定需要86
6.6.2Undo Log(MVCC)88
6.6.3Undo Log不是Log89
6.6.4Undo Log与Redo Log的关联90
6.6.4各种锁91
6.7Binlog与主从复制94
6.7.1Binlog与Redo Log的主要差异94
6.7.2内部XA ?C Binlog与Redo Log一致性问题95
6.7.3三种主从复制方式96
6.7.3并行复制97
第7章框架、软件与中间件99
7.1对生态体系的认知99
7.2框架99
7.3软件与中间件100
第3部分技术架构之道
第8章高并发问题104
8.1问题分类104
8.1.1侧重于高并发读的系统104
8.1.2侧重于高并发写的系统105
8.1.3同时侧重于高并发读和高并发写的系统106
8.2高并发读108
8.2.1策略1:加缓存108
8.2.2策略2:并发读109
8.2.3策略3:重写轻读110
8.2.4总结:读写分离(CQRS架构)113
8.3高并发写114
8.3.1策略1:数据分片114
8.3.2策略2:任务分片115
8.3.3策略3:异步化117
8.3.4策略4:批量123
8.3.5策略5:串行化 多进程单线程 异步IO124
8.4容量规划125
8.4.1吞吐量、响应时间与并发数125
8.4.2压力测试与容量评估127
第9章高可用与稳定性129
9.1多副本129
9.2隔离、限流、熔断和降级130
9.3灰度发布与回滚135
9.4监控体系与日志报警136
第10章事务一致性138
10.1随处可见的分布式事务问题138
10.2分布式事务解决方案汇总139
10.2.12PC139
10.2.2最终一致性(消息中间件)141
10.2.3TCC145
10.2.4事务状态表 调用方重试 接收方幂等147
10.2.5对账148
10.2.6妥协方案:弱一致性 基于状态的补偿149
10.2.7妥协方案:重试 回滚 报警 人工修复151
10.2.8总结152
第11章多副本一致性153
11.1高可用且强一致性到底有多难153
11.1.1Kafka的消息丢失问题153
11.1.2Kafka消息错乱问题156
11.2Paxos算法解析158
11.2.1Paxos解决什么问题158
11.2.2复制状态机161
11.2.3一个朴素而深刻的思想163
11.2.4Basic Paxos算法164
11.2.5Multi Paxos算法167
11.3Raft算法解析169
11.3.1为可理解性而设计169
11.3.2单点写入170
11.3.3日志结构171
11.3.4阶段1:Leader选举174
11.3.5阶段2:日志复制176
11.3.6阶段3:恢复阶段177
11.3.7安全性保证177
11.4Zab算法解析180
11.4.1Replicated State Machine vs. Primary-Backup System180
11.4.2zxid182
11.4.3序:乱序提交 vs. 顺序提交182
11.4.4Leader选举:FLE算法184
11.4.5正常阶段:2阶段提交186
11.4.6恢复阶段186
11.5三种算法对比187
第12章CAP理论189
12.1CAP理论的误解189
12.2现实世界不存在强一致性(PACELC理论)190
12.3典型案例:分布式锁192
第4部分业务架构之道
第13章业务意识196
13.1产品经理vs.需求分析师196
13.2什么叫作一个业务198
13.3业务架构的双重含义199
13.4业务架构与技术架构的区分200
第14章业务架构思维202
14.1伪分层202
14.2边界思维204
14.3系统化思维205
14.4利益相关者分析206
14.5非功能性需求分析(以终为始)208
14.6视角(横看成岭侧成峰)209
14.7抽象210
14.8建模213
14.9正交分解215
第15章技术架构与业务架构的融合218
15.1各式各样的方法论218
15.2为什么要领域驱动218
15.3业务流程不等于系统流程221
15.4为何很难设计一个好的领域模型222
15.5领域驱动设计与微服务架构的合223
15.6领域驱动设计与读写分离(CQRS)224
15.7业务分层架构模式225
15.8管道过滤器架构模式226
15.9状态机架构模式226
15.10业务切面业务闭环架构模式228
第5部分从架构到技术管理
第16章个人素质的提升232
16.1能力模型232
16.2影响力的塑造234
第17章团队能力的提升237
17.1不确定性与风险把控237
17.2以价值为中心的管理239
17.3团队培养241
內容試閱
当我在撰写本书时,脑海中曾浮现出当初上学期间一个劲儿地啃UML建模、软件架构设计书籍的情景。对于一个没有太多项目经验的人来说有点可笑,但也正是这种过早熏陶,使得我之后在工作中接手一个个项目时,会多想一些架构方面的事情。
为什么说是多想了呢?因为无论在企业面试还是日常工作中,人们更多谈论的是语言、数据结构、算法、操作系统原理,框架或中间件的使用方式、原理等硬性的内容,因为这些硬性的内容比较容易表述,其中学问的深浅也容易衡量。而对于软件建模、架构设计等软性的内容,就不容易衡量了。人们都知道它们很重要,但又说不清楚里面到底包含了哪些学问,所以谈论这些内容时通常都比较虚,最终导致很少从方法论的角度去讲,而是在项目中遇到问题时再具体解决,属于实用主义思维的做法。
另一方面,随着互联网技术的发展,很多大型网站或系统要处理海量的用户访问,需要解决高并发、高可用和由此带来的数据一致性问题,这也使得大家把大部分精力都用在解决这些问题上。这些问题可以被称为显性问题,因为如果解决不好,会造成系统宕机,用户体验受损,给企业带来严重损失,人们能意识到这种问题很重要。解决的思路通常有两个:第一,利用分布式系统的特性不断地分拆,把大系统拆小,各个击破,降低风险;第二,小步快跑,快速迭代。
但还有一类问题是隐性问题,是指系统的可重用性、可扩展性、可维护性等。因为一个系统由于设计问题导致研发人力的投入和时间成本的增加,往往无法显性地衡量。也可能并非系统设计得不好,而是业务本身就很复杂,或者各部门之间的沟通协调问题导致开发效率低。即便系统设计得不好,做新功能有沉重的历史包袱,也能依靠加班加点解决。但其实隐性问题比显性问题的影响更大,因为它会让技术拖累业务,当有新需求的时候,系统无法跟随业务快速变化。
所以,本书不想偏废两者中的任意一个。因为对于一个系统来说,可能既面临高并发、高可用的技术问题,又面临复杂的业务问题,所以如何处理两者的关系,打通技术和业务的任督二脉,是本书想要探讨的内容。
架构是一种综合能力,而不是某一方面的技能。也正因为如此,本书提供的是一个全面的解决方案、方法论、成体系的设计思维。本书从基础技术谈起,之后到高层技术,再到业务、管理,提供一个架构能力的全局视图,从而诠释一个架构师的完整能力模型。
具体来说,全书分为5大部分:
第1部分:从行业背景出发,对架构做一个宏观概述,阐述架构是什么。
第2部分:计算机功底。功底非常重要,这是做架构的基本门槛。大学的教科书上教的全是功底,但经过多年实践之后,再回过头看书本内容,会有新的理解和体会。
第3部分:技术架构。这部分是纯技术,讲解如何应对高并发、高可用、一致性方面的问题。
第4部分:业务架构。如何从技术延展到业务,如何跳出技术细节抽象思考问题,如何通过业务建模把技术和业务进行融合。
第5部分:从职业发展的角度,从技术延展到管理。建立对公司、商业、团队管理的一些认知。
对于刚入行的新人,建议从头看到尾,从而对架构的能力体系有一个全面的认知;对于有经验的从业者,可以选取自己感兴趣的章节阅读。
由于编写时间紧张,书中难免存在不足之处,望广大读者批评指正。

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 大陸用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2024 (香港)大書城有限公司  All Rights Reserved.