搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
微服务体系建设和实践
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787121368721
  • 作      者:
    任钢著
  • 出 版 社 :
    电子工业出版社
  • 出版日期:
    2019
收藏
编辑推荐

1 业内专家车宏原和蔡林山倾情作序。

2 本书采用体系化的思维诠释和构建微服务体系,从整体上讲述微服务体系的技术、架构、框架、管理整合和规划实施等内容。

3 本书适合希望从初级技能水平提升到高级技能水平的读者阅读,帮助读者对微服务形成一个整体的、深层次的、体系化的认识。


展开
作者简介

任钢,教授级高工,较早一批国家认证架构设计师,同时也是国家认证系统分析师和信息项目管理师,拥有20余年的软件开发和架构经验,承担过上百个软件项目的规划、设计、开发和交付,对软件工程和架构设计有一定的研究,现于某互联科技公司担任首席架构师。

展开
内容介绍

本书采用体系化的思维来诠释和构建微服务体系,从整体上讲述微服务体系的技术、架构、框架、管理整合和规划实施等内容。本书不针对某个微服务技术或框架用法进行细节说明,而是对微服务的整体领域进行概述,同时说明如何实践、如何验证、如何落地。本书脉络清晰,内容翔实,引导读者不仅“知其然”,而且还“知其所以然”。

展开
精彩书评

本书融入了作者20多年的IT开发和架构经验,以及指导企业数字化转型的经验,包含了3个层次的核心内容:first层次的核心内容是微服务的技术体系,第二个层次的核心内容是微服务的业务体系,第三个层次的核心内容是微服务的管理体系,最终实现科技驱动业务的宏愿。大道至简,本书采用体系化的思维来诠释和构建微服务体系,从整体上讲述微服务体系的技术、架构、框架、业务架构、管理整合和规划实施。本书适合IT公司的资深架构师、企业的CTO和CIO等人群阅读和学习,相信能给企业基于微服务的新一代架构建设带来很大的帮助。

——博时基金管理有限公司信息技术部总经理 / 车宏原 /

本书主要的特点是采用体系化的思维来诠释和构建微服务体系,从整体上讲述微服务体系的技术、架构、框架、业务架构、管理整合和规划实施。本书没有针对某个微服务技术或框架用法进行细节说明,而是针对微服务整体领域进行阐述,同时在微服务的实践、验证、落地等方面提出了独到的见解。

——金证科技股份有限公司技术副总监  金证科技股份有限公司技术委员会副主任 / 蔡林山 /


展开
精彩书摘

推荐序一



随着互联网技术的迅猛发展,各类应用系统复杂度逐渐增加,对服务所能提供的高并发性的要求越来越高,产品开发难度,项目部署、管理和维护成本也在逐渐增加。可传统的单体架构却无法快速适应这种变化,同时企业的软件开发也遇到了发展瓶颈。在业务方面,业务需求越来越庞大,业务功能越来越复杂,单体架构开发的风险和成本也越来越高,但是老系统需求变更困难,业务扩展性差,应用间耦合严重。在技术方面,原有系统代码陈旧,维护非常困难,缺少信息安全方面的保障。在管理方面,组织结构不断变化,团队需要快速响应需求。针对企业面临的这些问题,微服务架构应运而生,它可为敏捷部署及复杂企业应用开发的实施提供巨大的支持。

在新技术背景下,本书作者较早开始在国内指导传统企业进行新一代技术架构的建设,以科技驱动的思维、循序渐进的步骤,系统地构建企业云原生的几个技术体系——DevOps、微服务、容器云,从而实现以科技引领企业的发展,推动企业更加敏捷地参与到开放的生态建设中。

本书融入了作者20多年的IT开发和架构经验,以及指导企业数字化转型的经验,包含了3个层次的核心内容:第一个层次的核心内容是微服务的技术体系,第二个层次的核心内容是微服务的业务体系,第三个层次的核心内容是微服务的管理体系,最终实现科技驱动业务的宏愿。大道至简,本书采用体系化的思维来诠释和构建微服务体系,从整体上讲述微服务体系的技术、架构、框架、业务架构、管理整合和规划实施。本书适合IT公司的资深架构师、企业的CTO和CIO等人群阅读和学习,相信能给企业基于微服务的新一代架构建设带来很大的帮助。


博时基金管理有限公司

信息技术部总经理

车宏原

 



推荐序二



随着敏捷、精益、持续交付等思想深入人心,以及DevOps 文化的快速发展,传统应用无法快速适应变化,微服务架构应运而生,它是多重因素推动下的必然产物。相对于传统应用,微服务强调灵活、快速开发,扩展性强,特别适用于互联网和云计算架构下的用户需求个性化、产品周期缩短等情况。

微服务架构是面向服务架构(Service Oriented Architecture,SOA)思想的一种实现,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。微服务架构采用一组服务的方式来构建一个应用,每个服务独立部署在不同的进程中,不同服务通过一些轻量级交互机制来通信。服务可独立进行扩展、伸缩,每个服务定义了明确的边界,可以由独立的团队来维护。近年来,微服务架构应用的成功案例不断出现,例如,国外的Twitter、Netflix、Amazon和eBay等公司都已经从传统企业架构迁移到微服务架构。微服务架构在业务能力、自动化部署、智能端点、语言和数据的去中心化控制等方面,已经形成了某些普遍特征,这些特征都是未来架构的发展方向。

金证公司(全称是金证科技股份有限公司)作为国内金融科技的领军企业,高度重视金融科技创新。近年来,金证公司持续加大对云计算、大数据、区块链、人工智能等创新技术领域的科研/研发投入,矢志让新技术、新产品在行业内得到更广泛的应用,从而用更高效的科技手段提升传统金融效率、服务金融创新。为了满足金融行业用户日益增长的定制需求和快速、便捷的使用需求,应用软件的开发正变得越来越复杂,这就要求大型金融行业应用系统必须采用更敏捷的方式进行构建。借助微服务架构的模块化、可扩展、高可用等优势,金证公司已经在行业内落地了多个微服务应用案例,积累了不少行业微服务架构应用经验。目前,金证公司内部有更多不同应用场景的系统正在采用微服务架构进行重构实践。在此过程中,针对微服务分布式架构复杂性对金融行业应用开发与运维所带来的管理上的挑战,金证公司也在与业内专家一起积极探索解决之道。

本书最大的特点是采用体系化的思维来诠释和构建微服务体系,从整体上讲述微服务体系的技术、架构、框架、业务架构、管理整合和规划实施。本书没有针对某个微服务技术或框架用法进行细节说明,而是针对微服务整体领域进行阐述,同时在微服务的实践、验证、落地等方面提出了独到的见解。本书可供技术公司的CTO、CIO等人群阅读。由于这些岗位上的读者已经不在一线工作,对于一线出现的各种名词和概念,可能在细节上感到模糊,本书提纲挈领地阐述了微服务的体系架构,让IT行业的领导者可以从一个新高度迅速地了解和掌握整个微服务的状况,进而在战略层面上做出适合公司或组织的微服务的决策。


金证科技股份有限公司 技术副总监

金证科技股份有限公司技术委员会 副主任

蔡林山

 


展开
目录

目录


第1部分  微服务体系概述 1
第1章  微服务概述 2
1.1  微服务史话 2
1.1.1  微服务史话总述 2
1.1.2  第一个时代是单体应用的C/S客户服务器时代 4
1.1.3  第二个时代是分布式组件化应用时代 5
1.1.4  第三个时代是SOA(面向服务架构)时代 6
1.1.5  第四个时代是微服务架构时代 8
1.2  现阶段微服务的基本概念 10
1.2.1  微服务的基本概念 10
1.2.2  微服务的内涵和外延 12
1.2.3  微服务架构(MSA)的定义 13
1.2.4  MSA和SOA的比较 14
1.3  关于微服务的一些辩证关系 16
1.3.1  选择单体应用系统和微服务应用系统的辩证关系 16
1.3.2  微服务颗粒度大小的辩证关系 17
1.3.3  微服务进程内外之间的辩证关系 17
1.3.4  组件独立性和共享性之间的辩证关系 17
1.3.5  关于去中心化和管理规范化之间的辩证关系 17
1.3.6  松耦合和敏捷性要求之间的辩证关系 17
1.3.7  投入成本和复杂度之间的辩证关系 18
1.3.8  微服务灵活性与性能的辩证关系 18
1.3.9  微服务安全性与无状态性之间的辩证关系 18
1.4  微服务是未来方向吗 18
1.5  本章小结 19
第2章  微服务体系概况 20
2.1  关于体系化 20
2.1.1  体系化的整体性 20
2.1.2  体系化的结构性 21
2.1.3  体系化的综合性 21
2.1.4  体系化的动态性 21
2.2  采用微服务的愿景 22
2.3  微服务体系的概念 23
2.3.1  关于微服务体系的特征 24
2.3.2  微服务体系的整体性 25
2.3.3  微服务体系的结构性 26
2.3.4  微服务体系的综合性 27
2.3.5  微服务体系的动态性 28
2.4  微服务体系建设方法论 29
2.5  微服务体系与云原生架构的区别 30
2.5.1  云原生架构简介 30
2.5.2  微服务体系与云原生架构的不同之处 32
2.6  微服务体系与API开放框架平台的关系 33
2.7  微服务体系生态系统 35
2.8  本章小结 36
第2部分  微服务技术体系 37
第3章  微服务技术体系及实现技术 39
3.1  微服务技术体系的体系化 39
3.1.1  基本概念澄清 39
3.1.2  微服务技术体系的整体性 41
3.1.3  微服务技术体系的结构性 42
3.2  微服务技术体系的层次及其关系 42
3.2.1  总体层次结构 42
3.2.2  微服务技术体系的实现技术体系 45
3.2.3  微服务技术体系的技术架构体系 46
3.2.4  微服务技术体系的技术框架体系 46
3.2.5  微服务技术体系的集成环境平台 47
3.2.6  微服务技术体系的基础设施环境 47
3.3  微服务的实现技术 48
3.3.1  总体说明 48
3.3.2  通信技术 48
3.3.3  分布式架构 57
3.3.4  容器技术 75
3.3.5  安全协议 80
3.4  实现微服务的集成平台自动化工具 84
3.4.1  集成平台自动化工具综述 84
3.4.2  研发自动化工具 85
3.4.3  CI/CD自动化工具 86
3.4.4  运维自动化工具 88
3.5  微服务的基础设施环境 92
3.5.1  IaaS平台 92
3.5.2  云管理平台 93
3.6  本章小结 96
第4章  微服务技术架构体系 98
4.1  微服务技术架构体系概述 98
4.1.1  微服务技术架构的概念 98
4.1.2  微服务技术架构的整体性 100
4.1.3  微服务技术架构的优势和挑战 101
4.2  微服务运行时服务架构的组成部分 103
4.2.1  微服务组件的形式和特征 103
4.2.2  微服务组件的调用方式 103
4.2.3  微服务组件的契约驱动模式 104
4.3  微服务运行时基础架构的组成部分 105
4.3.1  微服务运行时基础架构概述 105
4.3.2  微服务的服务发现和注册组件 107
4.3.3  微服务的API网关组件 116
4.3.4  微服务的服务容错组件及其模式 122
4.3.5  监控告警日志组件 146
4.3.6  认证授权组件 158
4.3.7  统一配置管理组件 165
4.4  微服务运行时后端架构的组成部分 169
4.4.1  消息队列中间件 169
4.4.2  关系存储及其相关管理工具 169
4.4.3  分布式NoSQL数据库 169
4.4.4  NewSQL数据存储区 170
4.4.5  文件数据存储区 170
4.4.6  数据流平台 170
4.5  微服务技术架构设计模式 170
4.5.1  微服务技术架构设计模式概述 171
4.5.2  常用的微服务技术架构设计模式 171
4.5.3  微服务技术架构设计模式及其特性 172
4.6  本章小结 179

第5章  微服务技术框架体系 181
5.1  微服务技术框架概述 181
5.1.1  微服务技术框架的基本概念 181
5.1.2  微服务技术框架实现的功能 181
5.1.3  微服务技术框架分类 183
5.1.4  选择微服务技术框架需要考虑的因素 185
5.2  开发型微服务基础框架平台 186
5.2.1  Netflix微服务框架 186
5.2.2  Spring Cloud微服务框架 188
5.2.3  Microsoft Azure Service Fabric微服务框架 191
5.2.4  Lightbend的Lagom框架 194
5.2.5  Microdot Framework微服务框架 196
5.2.6  Dubbo分布式服务框架 197
5.2.7  Spotify的Apollo框架 199
5.2.8  Steeltoe微服务框架 200
5.2.9  其他的微服务框架 202
5.3  运维型微服务基础框架平台 204
5.3.1  Kubernetes微服务框架 204
5.3.2  Docker Swarm微服务框架 212
5.3.3  ZeroC IceGrid微服务框架 215
5.3.4  Istio微服务框架 217
5.4  Serverless型微服务基础框架平台 219
5.4.1  Serverless型微服务基础框架平台架构 219
5.4.2  AWS Lambda框架 222
5.4.3  其他的Serverless框架平台 224
5.5  微服务开发框架平台 225
5.5.1  总体说明 225
5.5.2  基于Java的微服务开发框架 226
5.5.3  基于Microsoft.NET Framework的微服务开发框架 232
5.5.4  基于JavaScript的微服务开发框架 233
5.5.5  基于PHP的微服务开发框架 233
5.5.6  基于Go语言的微服务开发框架 234
5.5.7  基于Python语言的微服务开发框架 234
5.6  本章小结 234
第3部分  微服务业务体系 237
第6章  微服务业务体系概述 238
6.1  微服务业务体系的定义 238
6.2  与微服务业务体系相关的一些基本概念 242
6.2.1  技术微服务和业务微服务 242
6.2.2  业务服务和业务微服务 242
6.2.3  业务微服务设计层和业务微服务实现层 243
6.2.4  微服务技术架构和微服务业务架构 243
6.3  业务微服务解决的核心问题 244
6.3.1  业务微服务的边界 244
6.3.2  业务微服务的颗粒度大小 247
6.4  业务微服务的组织和集成 249
6.4.1  业务微服务的内部构成 249
6.4.2  业务微服务的内部设计模式 250
6.4.3  业务微服务的外部关系集成 259
6.5  实现业务微服务的相关架构 260
6.6  本章小结 261
第7章  业务微服务分析设计方法论 263
7.1  总体说明和业务场景描述 263
7.1.1  业务微服务的组成部分 263
7.1.2  业务逻辑的架构模式及实现 264
7.1.3  业务场景描述 265
7.2  普通服务分析和设计 270
7.2.1  资产管理微服务分析和定义 270
7.2.2  普通服务分析和设计概述 271
7.2.3  具体应用场景的普通服务分析和设计 273
7.3  领域驱动设计和微服务 279
7.3.1  领域驱动设计概述 279
7.3.2  基于领域驱动设计的业务微服务架构 282
7.3.3  基于领域驱动设计的业务微服务架构设计和实现 284
7.4  六边形架构分析和设计 292
7.4.1  六边形架构概述 292
7.4.2  基于六边形架构的业务微服务架构 295
7.4.3  基于六边形架构的业务微服务设计和实现 297
7.5  Clean架构分析和设计 304
7.5.1  Clean架构概述 304
7.5.2  基于Clean架构的业务微服务架构 307
7.5.3  基于Clean架构案例的设计和实现 308
7.6  DCI架构分析和设计 311
7.6.1  DCI架构概述 311
7.6.2  基于DCI架构的业务微服务架构 314
7.6.3  基于DCI架构的业务微服务架构设计和实现 315
7.7  CQRS架构分析和设计 318
7.7.1  CQRS架构概述 318
7.7.2  基于CQRS架构的业务微服务架构 319
7.7.3  基于CQRS架构的业务微服务架构设计和实现 320
7.8  本章小结 321
第4部分  微服务管理体系 323
第8章  微服务管理体系概述 324
8.1  微服务管理体系的定义 324
8.2  微服务管理体系的内容 325
8.3  微服务应用成熟度级别 327
8.3.1  定义微服务应用成熟度级别的缘由 327
8.3.2  微服务应用成熟度级别及其特征 327
8.3.3  产品级微服务应用成熟度特征描述 329
8.4  微服务应用的“12要素”原则 333
8.4.1  “12要素”原则简介 334
8.4.2  微服务应用的“12要素”原则 334
8.5  微服务规范 339
8.5.1  微服务规范和工具概述 339
8.5.2  微服务基础规范 340
8.5.3  微服务技术规范 340
8.5.4  微服务管理规范 340
8.6  微服务度量指标 342
8.6.1  度量指标概述 342
8.6.2  微服务的8个度量指标 343
8.7  本章小结 349
第9章  微服务应用的组织、人员和文化 350
9.1  单体架构应用的团队问题 350
9.2  微服务对组织、人员和文化的影响 351
9.2.1  围绕业务功能的组织 352
9.2.2  开发团队和运维团队不能分离 352
9.2.3  微服务团队的决策机制 352
9.2.4  微服务团队的规模 353
9.2.5  微服务对运维方式的影响 353
9.3  根据微服务的需要调整组织、人员和文化 354
9.3.1  组织团队的调整 354
9.3.2  倡导新文化和新行为 357
9.3.3  培养必要的新技能和新能力 358
9.3.4  微服务化小团队的组织和管理 359
9.3.5  组织结构的INVEST原则 360
9.4  本章小结 361
第10章  微服务的开发和运维流程 362
10.1  软件开发流程的演化历史 362
10.1.1  瀑布开发模式 362
10.1.2  快速原型模式 363
10.1.3  迭代模式 364
10.1.4  敏捷开发模式 366
10.1.5  微服务开发模式 367
10.1.6  DevOps模式 367
10.2  DevOps概述 368
10.2.1  DevOps的定义及其内容 368
10.2.2  企业实施DevOps的方式 369
10.2.3  微服务架构对DevOps的影响 370
10.3  在微服务下DevOps的实现 371
10.3.1  微服务的开发和运维流程概述 371
10.3.2  更多、更快地响应业务需求 373
10.3.3  开发和运维过程管理的敏捷性 374
10.3.4  优化质量保证流程 375
10.3.5  加强安全和治理管理 376
10.3.6  整合工具链构建DevOps平台 377
10.4  本章小结 378
第5部分  微服务体系建设实践 379
第11章  传统架构迁徙到微服务架构 380
11.1  迁徙的必要性 380
11.1.1  外部环境的挑战 380
11.1.2  业务方面的原因 381
11.1.3  技术方面的原因 382
11.1.4  管理方面的原因 383
11.2  需要考虑的问题 383
11.2.1  业务方面的问题 383
11.2.2  技术方面的问题 383
11.2.3  管理方面的问题 384
11.2.4  支撑方面的问题 384
11.3  传统架构迁徙到微服务架构的原则 385
11.4  传统架构迁徙到微服务架构的策略 385
11.4.1  整体改造,一步到位策略 386
11.4.2  试点入手,逐步推进策略 386
11.4.3  新功能、新服务策略 386
11.4.4  胶水层策略 387
11.4.5  绞杀策略 388
11.5  传统架构迁徙到微服务架构的实施流程 389
11.5.1  当前系统梳理和需求整理 389
11.5.2  确定目标、原则和策略 390
11.5.3  规划和计划 391
11.5.4  技术选型和确定 392
11.5.5  业务分析和拆分 395
11.5.6  团队、流程和人员改进 397
11.5.7  实施管理 398
11.5.8  演化和改进 399
11.6  本章小结 400
第12章  新建系统的业务微服务全生命周期过程 402
12.1  业务微服务全生命周期过程概述 402
12.2  产品或平台微服务化需要考虑的问题 402
12.2.1  是否一定要采用微服务架构 403
12.2.2  平台微服务架构设计的思考维度 403
12.2.3  产品或平台微服务的基本原则 404
12.3  产品或平台业务微服务的建设步骤 404
12.3.1  平台业务微服务的架构愿景 405
12.3.2  平台业务微服务的规划、原则和策略 406
12.3.3  业务微服务的识别和分析 407
12.3.4  业务微服务的应用场景分析(服务建模) 408
12.3.5  业务微服务的设计 409
12.3.6  业务微服务的实现 410
12.3.7  业务微服务的应用 410
12.3.8  业务微服务的改进和退出 411
12.4  本章小结 412

展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证