《软件平台架构设计与技术管理之道》简介:
本书第一部分包括5章50节,通过主题短文,在思想底蕴与思维认知、平台顶层架构与核心能力、技术管理与分析决策方面,给读者们提供丰富的工作锦囊,综合提升技术掌控力和布道力,精进方法论,快速地成为一个通识全貌型人才,从容自如地驾驭中大型软件平台方方面面的技术工作。第二部分包括3章,提供20余幅技术方案和架构设计图,以及常用工作台账示例,供参考使用,帮助读者进一步精通图形化表达方法,提升技术设计呈现能力。
本书不仅适合工作于一线的技术总监、架构师和中高级技术成员阅读,对致力于IT咨询和布道师岗位的读者,以及扩展知识面、争取持续提升的IT项目管理、质量管理人员,同样可以受益,大获技能包,增强软实力,早日脱颖而出。
《软件平台架构设计与技术管理之道》目录:
第1部分 技术负责人的工作锦囊
第1章 良好认知,成功钥匙 ·························································2
1.1 为技术负责人画像 ····················3
1.2 技术分工细化之殇 ····················5
1.3 决策是平衡与取舍的艺术 ···········8
1.3.1 没有完美答案 ·························8
1.3.2 记录决策理由 ·························9
1.3.3 掌握行业方法 ·······················10
1.4 会有第五代架构吗 ··················12
1.4.1 前四代架构的精髓 ·················12
1.4.2 深谙架构职业特性 ·················13
1.4.3 预测五代无意义 ····················15
1.5 简洁开明的领导风格 ···············16
1.5.1 透明求真和沟通交互 ··············16
1.5.2 领会无为而治 ·······················19
1.6 平台思维和情绪管理 ···············21
1.6.1 项目制vs平台型 ···················21
1.6.2 不要愤世嫉俗 ·······················23
1.6.3 去除地盘意识 ·······················23
1.7 提升架构设计严谨性 ···············26
1.7.1 架构设计思维原则与模式 ········26
1.7.2 过程增强与工具运用 ··············29
1.8 问题并非出在技术上 ···············33
1.8.1 贵在积极对话 ·······················33
1.8.2 方法论胜负手 ·······················34
1.9 精明赢得公司汇报 ··················36
1.9.1 关注真正的重点 ····················37
1.9.2 亮出点看家本事 ····················37
1.9.3 研发管理上得分 ····················38
1.10 别指望每个人都认可架构 ········39
1.10.1 问题客观存在 ······················39
1.10.2 不合理的使用 ······················40
1.10.3 寻找可行之路 ······················42
1.11 一点规划胜过多次补救 ···········43
1.12 掌握禀赋,正确用人 ··············46
第2章 萃取精华,驾驭主题 ························································48
2.1 起个响亮的名称代号 ···············49
2.1.1 代号的价值 ··························49
2.1.2 轻松的时刻 ··························50
2.2 通用一致的专业术语 ···············52
2.2.1 非模糊语言 ··························52
2.2.2 广学活用行话 ·······················53
2.3 制定全景路径 ························56
2.3.1 模式形态分析 ·······················57
2.3.2 单元实现方式 ·······················58
2.3.3 绘制路线图 ··························59
2.4 聚焦边界抓主脉 ·····················60
2.5 合理运用架构模式 ··················63
2.5.1 必须学以致用 ·······················63
2.5.2 谨防过度设计 ·······················64
2.6 立起架构,递增部署 ···············66
2.7 打造数据堡垒 ························68
2.7.1 数据库的发展历程 ·················68
2.7.2 数据模型不可变 ····················69
2.7.3 数据资产重于一切 ·················70
2.8 有无兜底方式 ························71
2.8.1 学会使用补偿 ·······················71
2.8.2 其他兜底方式 ·······················72
2.9 运行、维护保鲜 ·····················74
2.9.1 掌握运行水位线 ····················75
2.9.2 进行定期演练 ·······················76
2.9.3 平台运维手册 ·······················77
2.10 技术白皮书 ··························80
2.11 再来几条技术锦囊 ·················82
2.11.1 别把快速当成敏捷 ················82
2.11.2 用多少时间做架构 ················83
2.11.3 关注模型与代码融合 ·············84
2.11.4 避免成为僵尸系统 ················85
2.11.5 向结构性失衡宣战 ················85
第3章平台视角,顶层设计 ························································90
3.1 分层总体架构 ························91
3.2 交互关系设计 ························95
3.2.1 交互流程设计 ·······················95
3.2.2 系统逻辑关系设计 ·················97
3.3 数据架构设计 ························98
3.3.1 业务视角设计 ·······················99
3.3.2 技术视角设计 ······················100 [2]
3.4 工程技术架构 ·······················102
3.5 流量分布设计 ·······················105
3.6 应用部署设计 ·······················108
3.6.1 板块划分 ····························108
3.6.2 各类网关 ····························109
3.6.3 板块内应用系统 ···················110
3.6.4 中间件及公共资源 ················110
3.7 系统通信设计 ·······················111
3.7.1 通信网络及服务 ···················111
3.7.2 系统间通信技术(IPC) ·········112
3.7.3 端口及响应码 ······················116
3.8 应用安全架构 ·······················118
3.8.1 企业安全框架 ······················118
3.8.2 应用安全三面观 ···················119
3.8.3 移动应用安全设计 ················120
3.9 日志体系设计 ·······················124
3.9.1 日志分层分类 ······················125
3.9.2 聚合与使用 ·························126
第4章核心能力,全景覆盖 ························································128
4.1 高可用体系设计 ····················129
4.1.1 范畴及相互关系 ···················129
4.1.2 冗余机制的设计 ···················131
4.1.3 防御降级设计 ······················133
4.1.4 发布保障 ····························136
4.2 应用高性能设计 ····················139
4.2.1 前端开发领域 ······················140
4.2.2 后端开发领域 ······················141
4.2.3 数据与数据库 ······················143
4.2.4 非数据类对象 ······················144
4.2.5 设计与选型 ·························145
4.3 监控报警体系 ·······················147
4.4 可用率和容量衡量 ·················150
4.4.1 服务可用率衡量 ···················150
4.4.2 平台容量衡量 ······················152
4.5 并发性能衡量 ·······················155
4.5.1 QPS和TPS·························155
4.5.2 性能衡量方法 ······················157
4.6 容灾模式设计 ·······················160
4.7 分布式之无状态 ····················164
4.8 分布式之事务 ·······················167
4.9 分布式之锁 ··························171
第5章精进管理,磨练团队 ························································174
5.1 分配好团队体力 ····················175
5.2 立体化指标体系 ····················178
5.3 保持张力应对变化 ·················181
5.3.1 变化无处不在 ······················181
5.3.2 偿还技术债务 ······················183
5.4 抓评审立基石 ·······················184
5.4.1 精进技术 ····························184
5.4.2 带入问题 ····························186
5.4.3 管理抓手 ····························187
5.5 流程及质量卡口 ····················188
5.5.1 务必保持好阵型 ···················188
5.5.2 质量关口前移 ······················191
5.5.3 与开发相互融合 ···················192
5.6 交付效能评估 ·······················194
5.6.1 选择合适指标 ······················195
5.6.2 做成加分项 ·························196
5.7 坚守文档底线 ·······················198
5.7.1 精简是必然趋势 ···················198
5.7.2 两文档不可裁剪 ···················199
5.7.3 对编写水平把关 ···················200
5.8 揪出那几类故障 ····················202
5.8.1 仔细认真地对待 ···················202
5.8.2 故障的2/8定律 ····················203
5.9 还有哪些管理妙计 ·················205
5.9.1 经得起三问 ·························205
5.9.2 洞察缓慢混乱 ······················206
5.9.3 一切都不在掌控中 ················207
5.9.4 应变转型与变革 ···················207
第2部分技术图表材料实战解码
第6章简洁方案,直达问题域 ······················································210
6.1 中心间运行关系 ····················211
6.2 对账处理逻辑 ·······················213
6.3 系统环境迁移 ·······················215
6.4 适配新老客户 ·······················217
6.5 参与方间关系 ·······················219
6.6 系统通信关系 ·······················221
6.7 全局路线图 ··························223
6.7.1 瀑布式风格 ·························223
6.7.2 迭代式风格 ·························224
第7章架构设计,超强表现力 ······················································226
7.1 分层架构示意图 ····················227
7.1.1 偏重中台和技术栈 ················227
7.1.2 偏重业务系统域 ···················228
7.2 应用安全示意图 ····················230
7.3 交互流程设计示意图 ··············232
7.3.1 经典泳道风格 ······················232
7.3.2 立体图风格 ·························235
7.4 系统逻辑关系示意图 ··············236
7.4.1 立体图风格 ·························236
7.4.2 分层次风格 ·························238
7.5 应用系统部署示意图 ··············239
7.6 数据架构设计示意图 ··············241
7.6.1 偏重数据处理关系 ················241
7.6.2 偏重于分区关系 ···················242
7.7 系统功能框架示意图 ··············244
7.7.1 功能地图型 ·························244
7.7.2 功能与交互混合型 ················246
第8章积累复用,多走捷径 ··························································247
8.1 技术评审检查点 ····················248
8.1.1 前端领域 ····························248
8.1.2 后端领域 ····························251
8.2 上线与运行事件台账 ··············254
8.2.1 版本上线台账 ······················254
8.2.2 运行事件台账 ······················256
参考文····································································258
致谢 ······································································259
后记这是富有意义的尝试 ····························································261
让无形的道跃然纸上 ··············261
一份追求与一丝期望 ··············263
· · · · · ·