Spring微服务架构设计拉杰什·R.V.pdf下载pdf下载

Spring微服务架构设计拉杰什·R.V.百度网盘pdf下载

作者:
简介:本篇主要提供Spring微服务架构设计拉杰什·R.V.pdf下载
出版社:
出版时间:2020-04-01
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

作  者:(印)拉杰什·R.V. 著 杨文其 译
定  价:89
出 版 社:人民邮电出版社
出版日期:2020年04月01日
页  数:300
装  帧:平装
ISBN:9787115533753
Spring框架是成熟的轻量级开源框架。面向对象的特性使得其简单易用,利用它可以快速开发出高可用的Java应用。随着功能的不断丰富与增强,Spring在构建微服务方面愈发游刃有余。 本书通过一系列生动示例,全面、细致地阐述了如何利用Spring框架、Spring Boot和Spring Cloud构建微服务,以及如何利用Docker部署微服务,并用Mesos和Marathon进行管理。对于想要构建强大的互联网级应用,以满足现代业务需求的Spring开发人员来说,这本实用指南极具参考价值! 等
章微服务揭秘1
1.1微服务的演进1
1.1.1微服务演进的催化剂——业务需求1
1.1.2微服务演进的催化剂——技术演进3
1.1.3架构演进势在必行4
1.2什么是微服务5
1.3微服务蜂巢7
1.4微服务架构的设计原则8
1.4.1每个服务承担单一责任8
1.4.2微服务是自治的9
1.5微服务的特性10
1.5.1服务是一等10
1.5.2微服务是轻量级的11
1.5.3微服务的混合架构11
1.5.4微服务环境中的自动化12
1.5.5微服务的生态支持系统13
1.5.6微服务是动态分布式的13
1.5.7抗脆弱、快速失败和自我愈合15
1.6微服务的实例15
1.6.1一个酒店门户网站的例子15
1.6.2一个旅行社门户网站的例子18
1.7微服务架构的优势19
1.7.1支持混合架构19
1.7.2为试验和创新赋能20
1.7.3弹性伸缩和选择性扩容21
1.7.4服务可替换23
1.7.5为构建有机系统赋能23
1.7.6有助于管理技术债24
1.7.7允许不同版本并存25
1.7.8支持构建自组织系统26
1.7.9支持事件驱动架构27
1.7.10为DevOps赋能28
1.8小结28
第2章相关架构风格和用例29
2.1SOA29
2.1.1面向服务的集成30
2.1.2遗留系统现代化31
2.1.3面向服务的应用31
2.1.4用SOA迁移单体应用32
2.2十二要素应用32
2.2.1单一代码库33
2.2.2依赖捆绑33
2.2.3配置外部化34
2.2.4支撑服务可寻址34
2.2.5构建、发布和运行时的隔离35
2.2.6无状态、不共享进程36
2.2.7通过端口绑定暴露服务36
2.2.8以水平扩展实现高并发36
2.2.9以小的开销实现可处置性37
2.2.10开发环境和生产环境的对等性37
2.2.11日志信息外部化37
2.2.12打包后台管理进程38
2.3无服务器计算38
2.4Lambda架构39
2.5DevOps、云计算和容器40
2.5.1DevOps是实现微服务架构的实践和流程41
2.5.2以云计算和容器作为微服务的自助式基础设施41
2.6响应式微服务42
2.7微服务用例45
2.8微服务先行者的共同点46
2.9微服务框架48
2.10小结49
第3章用SpringBoot构建微服务50
3.1搭建开发环境50
3.2用SpringBoot构建RESTful微服务51
3.3SpringBoot入门51
3.4开发SpringBoot微服务52
3.5开发个SpringBoot微服务53
3.6启用HATEOAS的SpringBoot微服务60
3.7响应式SpringBoot微服务
3.7.1使用SpringWebFlux实现响应式微服务
3.7.2用SpringBoot和RabbitMQ实现响应式微服务68
3.8实现微服务安全70
3.8.1用基本安全策略保护微服务70
3.8.2用OAuth2保护微服务71
3.9为微服务交互启用跨域访问73
3.10使用SpringBootActuator实现微服务instrumentation74
3.10.1利用JConsole监控应用76
3.10.2利用ssh监控应用76
3.10.3添加自定义健康检查模块77
3.10.4自定义指标78
3.11微服务文档化79
3.12综合实例:开发客户注册微服务80
3.13小结89
第4章应用微服务概念90
4.1微服务设计指南90
4.1.1确定微服务的边界90
4.1.2设计微服务通信方式94
4.1.3微服务编排98
4.1.4每个微服务包含多少个端口——一个还是多个102
4.1.5每个虚拟机运行多少个微服务——一个还是多个102
4.1.6规则引擎——共享还是嵌入103
4.1.7BPM和工作流的作用104
4.1.8微服务可以共享数据库吗106
4.1.9微服务可以无头吗108
4.1.10确定事务边界108
4.1.11服务端口设计的考量点110
4.1.12处理共享类库111
4.1.13微服务中的UI112
4.1.14微服务中使用API网关114
4.1.15在微服务架构中使用ESB和iPaaS115
4.1.16服务版本化的考虑116
4.1.17跨域设计118
4.1.18处理共享的引用数据118
4.1.19微服务和批量操作119
4.2小结121
第5章微服务能力模型122
5.1微服务能力模型简介122
5.2核心能力123
5.2.1服务监听器和类库124
5.2.2存储能力124
5.2.3服务实现124
5.2.4服务端口124
5.3基础设施能力125
5.3.1云计算125
5.3.2容器运行时125
5.3.3容器编排126
5.4支撑能力126
5.4.1服务网关126
5.4.2软件定义的负载均衡126
5.4.3集中式日志管理127
5.4.4服务发现127
5.4.5安全服务127
5.4.6服务配置128
5.4.7运维监控128
5.4.8依赖管理128
5.4.9数据湖129
5.4.10可靠的消息机制130
5.5流程和治理能力130
5.5.1DevOps130
5.5.2自动化工具130
5.5.3容器注册表131
5.5.4微服务文档化131
5.5.5参考架构和类库132
5.6微服务成熟度模型133
5.6.1第0级——传统133
5.6.2级——初级134
5.6.3第2级——中级134
5.6.4第3级——不错134
5.7微服务采用的入口135
5.8小结136
第6章微服务演进案例研究137
6.1理解PSS应用137
6.1.1业务流程视图137
6.1.2功能视图138
6.1.3架构视图139
6.1.4设计视图139
6.1.5实现视图140
6.1.6部署视图141
6.2单体之死142
6.2.1痛点142
6.2.2应急修复142
6.2.3复盘143
6.3诉诸微服务——有计划地迁移146
6.3.1业务用例147
6.3.2迁移方法148
6.3.3确定微服务边界149
6.3.4分析服务依赖关系149
6.3.5微服务迁移的优先级157
6.3.6迁移过程中的数据同步158
6.3.7管理引用数据160
6.3.8UI和Web应用161
6.3.9测试策略163
6.3.10构建生态系统能力1
6.3.11只迁移必要的模块1
6.3.12微服务的内部层次结构165
6.3.13微服务编排166
6.3.14与其他系统的集成166
6.3.15迁移共享类库167
6.3.16处理异常167
6.4目标实现169
6.4.1项目实现170
6.4.2项目运行和测试171
6.5后续工作174
6.6小结175
第7章用SpringCloud组件扩展微服务176
7.1什么是SpringCloud176
7.2SpringCloud的版本177
7.3搭建BrownField航空公司PSS系统的项目环境177
7.4SpringCloudConfig178
7.4.1用配置服务器构建微服务180
7.4.2搭建配置服务器181
7.4.3理解配置服务器URL183
7.4.4处理配置变更187
7.4.5用SpringCloud总线推送配置变更187
7.4.6搭建配置服务器的高可用集群188
7.4.7监控配置服务器的健康状态189
7.4.8用配置服务器管理配置文件189
7.4.9完成修改以使用配置服务器189
7.5将Eureka用于服务注册和发现190
7.5.1理解动态服务注册和发现190
7.5.2理解Eureka191
7.5.3搭建Eureka服务器192
7.5.4Eureka的高可用性196
7.6用Zuul代理作为API网关198
7.6.1搭建Zuul199
7.6.2Zuul的高可用性203
7.7响应式微服务流205
7.8用SpringCloudSecurity保护微服务208
7.9总结BrownField航空公司的PSS应用架构209
7.10小结211
第8章微服务的日志管理和监控212
8.1日志管理的挑战212
8.2集中式日志管理方案213
8.3日志管理方案的选取215
8.3.1云服务215
8.3.2现成的方案215
8.3.3集成的组件215
8.3.4自定义日志管理方案的实现216
8.3.5用SpringCloudSleuth实现分布式跟踪220
8.4监控微服务222
8.4.1微服务监控的挑战222
8.4.2监控工具224
8.4.3监控微服务依赖225
8.4.4用SpringCloudHystrix实现微服务容错226
8.4.5用Turbine聚合Hystrix流229
8.5使用数据湖做数据分析232
8.6小结233
第9章用Docker容器化微服务234
9.1BrownField公司PSS微服务的不足之处234
9.2什么是容器235
9.3虚拟机和容器的区别236
9.4容器的优势237
9.5微服务和容器238
9.6Docker简介239
9.7将微服务部署到Docker中242
9.8在Docker上运行RabbitMQ246
9.9使用Docker注册表246
9.9.1设置DockerHub247
9.9.2将微服务发布到DockerHub247
9.10微服务上云247
9.11在EC2上运行BrownFiled公司的微服务248
9.12容器化的未来249
9.13小结249
0章用Mesos和Marathon扩展容器化的微服务250
10.1微服务扩容250
10.1.1理解自动扩容251
10.1.2缺失的部分252
10.2容器编排252
10.2.1为什么容器编排很重要253
10.2.2容器编排是什么253
10.2.3容器编排和微服务的关系255
10.2.4容器编排和虚拟化的关系256
10.2.5容器编排方案256
10.3用Mesos和Marathon实现容器编排259
10.4用DCOS实现Mesos和Marathon262
10.5为BrownField公司的微服务实现Mesos和Marathon263
10.5.1安装Mesos、Marathon及相关组件263
10.5.2运行Mesos和Marathon2
10.6准备部署BrownField公司的PSS微服务266
10.7小结269
1章微服务开发生命周期270
11.1微服务开发的实践要点270
11.1.1理解业务动机和价值270
11.1.2从项目开发到产品开发的观念转变270
11.1.3选择正确的开发理念271
11.1.4使用小可行产品的概念271
11.1.5克服遗留热点271
11.1.6建立自组织的团队272
11.1.7构建自服务云274
11.1.8构建一套微服务生态系统274
11.1.9以DevOps实践贯穿微服务开发的生命周期274
11.1.10价值驱动计划275
11.1.11持续监控和反馈275
11.2自动化开发周期276
11.2.1开发277
11.2.2集成278
11.2.3测试279
11.2.4部署282
11.2.5监控和反馈282
11.2.6配置管理282
11.2.7微服务开发治理、参考架构和类库283
11.3小结283

内容简介

随着Spring Boot和Spring Cloud的推出,Spring框架变得更加强大,支持快速开发和高效运维,很好适合实现微服务架构,能够满足微服务的并发、精细监控和可靠易用等需求。本书提供了实现大型响应式微服务的实用方法和指导原则,并通过示例全面讲解如何构建微服务。主要内容包括:微服务架构介绍以及构建微服务时面临的挑战,如何用Spring Boot和Spring Cloud开发微服务系统,微服务能力模型,如何演进微服务,微服务的日志管理和监控,如何用Docker、Mesos和 Marathon管理互联网级微服务架构,等等。本书适合所有Spring开发人员阅读。