系统架构设计

系统架构设计

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

编辑推荐

适读人群:立志向系统架构师转型的广大开发人员本书包含作者基于自身在传统以及互联网行业多年的技术与管理工作经历展开论述,结合方法论和工程实践,具有较强的针对性和适用性,能帮助读者了解并掌握迈向架构师所需的各种知识体系和实践技巧。本书在介绍技术以及过程管理的内容时,采用“思路à方法论à工程实践”的三段式模型,不光告诉读者可以怎么做,更重要的是提供了对问题的分析以及解决思路和方法论,并辅以相应的工程实践和案例分析。本书从“向架构师转型”的角度出发,关注于转型这个特定主题给出了作者自身的一些思考和总结,从内容上填补了市场上的这一空白。

内容简介

1. 程序员向架构师转型篇,剖析架构师角色。

2. 系统架构设计知识领域篇,介绍软件架构体系结构、领域驱动设计、分布式系统架构、技术知识体系等架构师所应具备的主要技术体系内容。

3. 软件开发系统工程篇,介绍软件工程学、业务架构设计、敏捷方法与实践、软件交付模型等架构师所应具备的系统方法论和相关工程实践。

4. 架构师软能力篇,包括架构师与外部环境、自身团队和转型所需的意识形态。

作者简介

郑天民,网名天涯兰,日本足利工业大学信息管理学硕士,10年左右软件行业从业经验,在医疗、安防和电商行业都有所涉及,主持和参与过多个大型企业级应用和移动互联网系统的开发和管理工作,先后担任系统分析架构师、部门经理、技术总监等职务,目前就职于一家业界领先的电商独角兽企业。北风网特邀讲师,讲授系统架构与技术管理相关课程。善于提炼和抽象核心内容,善于知识分享和技术人员培养,对系统架构设计和技术管理有丰富的经验和较深的理解。


章节目录

第一篇 程序员向架构师转型概述

第1章 程序员向架构师转型 2
1.1 架构设计基本概念 2
1.1.1 架构的基本定义 2
1.1.2 架构演进理论 4
1.1.3 架构设计与系统工程 7
1.2 剖析架构师角色 8
1.2.1 架构师角色 8
1.2.2 当程序员遇到架构师 10
1.3 架构师的视图和视角 11
1.3.1 架构师的视图 12
1.3.2 架构师的视角 16
1.3.3 视图视角与系统工程 18
1.4 程序员如何向架构师成功转型 19
1.4.1 转型成功的三段式模型 19
1.4.2 转型思维导图 20
1.4.3 作为架构师开展工作 21
1.5 本章小结 22
第二篇 软件架构设计知识体系

第2章 软件架构体系结构 24
2.1 软件体系结构 24
2.2 架构风格 25
2.2.1 分布式 25
2.2.2 事件驱动 28
2.2.3 系统结构 31
2.2.4 消息总线 32
2.2.5 适配与扩展 33
2.3 架构模式 35
2.3.1 数据访问 35
2.3.2 服务定位 36
2.3.3 异步化 38
2.3.4 资源管理 39
2.3.5 依赖管理 41
2.4 架构模型 44
2.5 本章小结 45
第3章 领域驱动设计 46
3.1 面向领域思想 46
3.1.1 架构设计与领域驱动 46
3.1.2 领域驱动设计核心概念 47
3.1.3 案例介绍 47
3.2 面向领域的策略设计 48
3.2.1 通用语言 48
3.2.2 领域与上下文 48
3.2.3 领域驱动的架构风格 51
3.2.4 案例策略设计 54
3.3 面向领域的技术设计 56
3.3.1 实体与值对象 56
3.3.2 领域服务 59
3.3.3 领域事件 60
3.3.4 聚合 62
3.3.5 资源库 64
3.3.6 集成界限上下文 65
3.3.7 应用程序 67
3.3.8 案例技术设计 67
3.4 案例实现 69
3.5 本章小结 70
第4章 分布式系统架构设计 72
4.1 分布式系统 73
4.2 RPC架构 74
4.2.1 网络通信 75
4.2.2 序列化 76
4.2.3 传输协议 77
4.2.4 服务调用 78
4.3 分布式服务架构 81
4.3.1 负载均衡与集群容错 81
4.3.2 服务路由 83
4.3.3 服务注册中心 84
4.3.4 服务发布与调用 88
4.3.5 服务监控与治理 90
4.4 分布式服务框架Dubbo剖析 91
4.4.1 Dubbo核心功能 91
4.4.2 Dubbo原理分析 94
4.5 微服务架构 102
4.5.1 微服务实现策略 103
4.5.2 微服务实现技术 104
4.5.3 微服务实现案例 108
4.6 本章小结 109
第5章 架构实现技术体系 110
5.1 缓存与性能优化 111
5.1.1 性能概述 111
5.1.2 Memcached 112
5.1.3 Redis 116
5.1.4 Nginx 120
5.2 消息传递系统 122
5.2.1 消息中间件需求 122
5.2.2 JMS 123
5.2.3 AMQP 126
5.2.4 Kafka 129
5.3 企业服务总线 130
5.3.1 服务总线解决方案 130
5.3.2 集成化端点 136
5.4 数据分析处理 140
5.4.1 轻量级批处理 140
5.4.2 Spring Batch 142
5.5 安全性 147
5.5.1 安全性概述 147
5.5.2 安全性实现技术 148
5.6 本章小结 151
第三篇 软件架构设计系统工程

第6章 软件工程学 154
6.1 软件工程学概述 154
6.2 软件实现 155
6.2.1 需求工程 155
6.2.2 系统建模与案例分析 157
6.2.3 软件实现与架构师 165
6.3 项目管理 166
6.3.1 项目管理体系 167
6.3.2 项目研发过程的透明化管理 173
6.3.3 项目管理与架构师 178
6.4 过程改进 179
6.4.1 软件过程模型 179
6.4.2 软件过程改进 181
6.4.3 过程改进与架构师 182
6.5 本章小结 183
第7章 敏捷方法与实践 184
7.1 敏捷方法论概述 184
7.2 极限编程与工程实践 186
7.2.1 极限编程方法 186
7.2.2 极限编程工程实践 186
7.3 Scrum与过程管理 191
7.3.1 Scrum简介 191
7.3.2 Scrum框架 192
7.3.3 如何进行敏捷回顾案例分析 194
7.4 敏捷方法论与架构师 198
7.4.1 敏捷开发中架构师的角色 198
7.4.2 识别和消除研发过程浪费 199
7.5 本章小结 204
第8章 软件交付模型 205
8.1 软件交付模型概述 205
8.2 配置管理 206
8.2.1 配置管理概述 206
8.2.2 配置管理模式与实践 209
8.2.3 SVN/GIT基本应用与实践 210
8.2.4 系统版本控制策略案例分析 214
8.3 持续集成 217
8.3.1 持续集成理念 217
8.3.2 Jenkins应用 219
8.4 交付工作流 219
8.5 本章小结 220
第四篇 架构师软技能

第9章 架构师必备软技能 222
9.1 架构师与外部环境 222
9.1.1 政治与协商 223
9.1.2 沟通 224
9.1.3 邮件 227
9.2 架构师与自身团队 231
9.2.1 领导力 231
9.2.2 知识管理 232
9.2.3 人员管理 235
9.2.4 绩效管理 237
9.3 架构师与意识形态 240
9.3.1 思维模式 241
9.3.2 引入变化 241
9.4 本章小结 245
参考文献 246

系统架构设计是1970年由人民邮电出版社出版,作者郑天民。

得书感谢您对《系统架构设计》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

你可能喜欢
软件工程 电子书
软件工程基本原理、技术、方法与项目管理。
微服务与事件驱动架构 电子书
本书教你从头开始构建完整的事件驱动型微服务架构。
VMwarevSphere6.0虚拟化架构实战指南 电子书
本书语言通俗易懂,可操作性强,适用于VMware vSphere 6.0虚拟化架构管理人员,并可作为VCP 6考试的参考资料。
你真的会写代码吗 电子书
1个示例,7次重构,助你辨别优劣代码。
代码整洁之道 电子书
“阅读这本书有两种原因:第一,你是个程序员;第二,你想成为更好的程序员。很好,IT行业需要更好的程序员!”——罗伯特·C. 马丁(Robert C. Martin) 尽管糟糕的代码也能运行,但如果代码不整洁,会使整个开发团队泥足深陷,写得不好的代码每年都要耗费难以计数的时间和资源。但是,这种情况并非无法避免。 著名软件专家罗伯特·C. 马丁(Robert C. Martin) 在本书中为你呈现了革命性的视野。他携同Object Mentor公司的同事,从他们有关整洁代码的佳敏捷实践中提炼出软件技艺的价值观,以飨读者,让你成为更优秀的程序员——只要你着手研读本书。 阅读本书需要你做些什么呢?你将阅读代码——大量代码。本书会促使你思考何谓正确的代码,何谓错误的代码。更重要的是,本书将促使你重新评估自己的专业价值观,以及对自己技艺的承诺。 书中的具体内容包括: ·好代码和糟糕的代码之间的区别; ·如何编写好代码,如何将糟糕的代码转化为好代码; ·如何创建好名称、好函数、好对象和好类; ·如何格式化代码以实现其可读性的大化; ·如何在不妨碍代码逻辑的前提下充分实现错误处理; ·如何进行单元测试和测试驱动开发。