①一般下午5点前订单,当日发货,开发票联系客服②教材,学习,考试类书默认有笔记(或做过)③其他类书一般无笔记,提前与客服沟通好再下单,否则本店不承担责任)④部分图书籍采用标准图片,可能存在不同印次不同封面,内容一致⑤出版时间过长的书都可能有自然发黄现象。
¥ 59.25 7.5折 ¥ 79 九品
库存3件
作者陈韶健
出版社电子工业出版社
ISBN9787121341618
出版时间2018-06
装帧平装
开本16开
定价79元
货号1108601473799405588
上书时间2024-11-12
简单地说,微服务就是一种使用轻量级架构设计的组件化的小应用,这种小应用只关注一定范围的业务功能,往往只负责做好一件事情。通过很多这样的小应用,利用一种高效而灵活的管理机制,可以组成一个功能全面且业务丰富的大型平台。这种管理机制包括服务的注册与发现、服务的路由与负载均衡管理、服务之间简单而快捷的通信等功能。
轻量级的微服务架构设计方法,是在竞争激烈的互联网环境中诞生并且发展起来的,非常适合互联网应用快速迭代和规模化扩张的特点。当风靡一时的SOA 架构因为其重量级的设计方法,并不能适应业务快速变更和高速发展的要求时,微服务架构轻量级的设计风格的出现无疑是软件工程设计的救星,它给软件工程设计重新注入了一股新鲜活跃的血液。
互联网经济激烈竞争的特性,致使业务需求经常发生变化,这就要求技术开发必须具有非常快速的响应能力,以快速抢占市场先机,体现一种“高手过招、唯快不破”的风格。而且,产品一经推出,必须经常进行调整和迭代,以使其始终都能处于“出类拔萃、鹤立鸡群”的地位。更为重要的一面是互联网经济巨大的市场潜力,必然会触发应用产品走上规模化扩张的道路,这种扩张有时甚至是爆炸性的,这对产品的性能和稳定性都提出了前所未有的高要求。
对于软件设计和开发,唯有轻装上阵才能时刻充满活力,始终具有冲锋陷阵的干劲和强壮的生命力。微服务架构轻量级的设计观念及其渐进式的开发特点,正是体现了这种与时俱进的先进设计思想。
在微服务架构设计实施的实践中,Netflix OSS 是大家所公认的最早使用微服务架构设计的典范,Spring 团队在其开源组件的基础上,组建了一个基于Spring Boot 开发框架的Spring Cloud 工具套件。Spring Cloud 工具套件为开发者提供了一个完整而配套的工具组件,使微服务架构的实施和开发变得更加普通和容易。Spring Cloud 工具套件提供了包括但不限于服务注册管理、智能路由、负载均衡服务、熔断容错和服务降级机制、集中配置管理、服务监控与跟踪等功能组件和服务。
本书将详细介绍如何使用 Spring Cloud 工具套件来设计和开发微服务,并且不只是停留在表面上对Spring Cloud 各个工具组件本身的使用说明和介绍,而是从架构设计出发,说明了如何更好地将微服务架构的设计理念应用于生产实践中,并在实际应用中加深对Spring Cloud 工具套件的理解和掌握的程度。同时还将介绍怎么使用Docker 和Jenkins 等工具来进行微服务的部署和发布,并通过构建一系列高可用性的服务器架构设计,阐述了构建一个稳定、可靠并且能够适应规模化发展的应用平台的方法。
本书将从架构设计、应用开发和运维部署三个方面出发,对微服务架构设计的实施进行全方位的介绍和详细说明,在这一过程中将使用一个互联网平台的实例展开分析和深入实践。
通过对本书的系统学习,可以让读者将微服务架构的设计方法快速应用于生产实践中,为开发团队和企业提供坚不可摧的竞争力。
让我们一起努力,共同探索吧!让先进的技术率先成为我们先进的生产力。
本书的读者对象
本书的读者对象为广大的 Java 开发者、系统架构师和系统运维人员。本书特别适合使用过Spring 开源框架或具有Spring 框架基础知识的广大用户群体。
本书章节组成
本书由三部分组成,各部分及其章节的结构如下所示。
第一部分 架构篇
第 1 章微服务架构与 Spring Cloud
第2 章微服务架构最佳设计
第 3 章电商平台微服务设计实例
第二部分 开发篇
第 4 章开发工具选用及 Spring Boot 基础
第 5 章电商平台微服务工程设计
第 6 章微服务治理基础服务开发
第 7 章 Rest API 微服务开发
第 8 章 Web UI 微服务开发
第 9 章电商平台移动商城开发
第 10 章商家管理后台与 SSO 设计
第 11 章平台管理后台开发
第三部分 运维篇
第 12 章服务器架构设计与 Docker 使用
第 13 章数据库集群设计与高可用读写分离实施
第 14 章分布式文件系统等基础设施安装与配置
第 15 章使用自动化构建工具 Jenkins 实现CI/CD
实例代码
本书的实例代码存放在开源中国的码云代码仓库之中,可以通过下列链接打开各个项目工程下载或使用Git 检出:
勘误与反馈
读者如有任何问题,可以通过如下链接发起话题与作者交流。本书在出版印刷之后,有需要勘误的地方也会首先在这里发布:
致谢
非常感谢长期给予我支持和鼓励的朋友们,因为有了你们的支持和鼓励,才让我感到无比的幸福和惬意。还要感谢曾经与我一起进行过微服务开发的小伙伴们,令人欣慰的是,我已经兑现了之前的承诺,将微服务架构设计的经验汇编成书。最后要感谢家人对我的支持,在本书写作的过程中,我几乎将所有的空闲时间都花费在写作之中,而忽略了对你们的陪伴,对此我深感歉意。
如果书中有不对的地方或者任何纰漏,还敬请大家不吝赐教,我将感激不尽。
陈韶健,资深IT技术专家,著有《深入实践Spring Boot》(2016年10月机械工业出版社)、《Neo4j全栈开发》(2017年6月电子工业出版社)等书籍,在虚拟化技术领域、数据库使用和大数据分析、分布式架构设计、Spring等开源框架使用、微服务实施和开发等领域都有深入的研究和丰富的实践经验。未来研究方向:物联网、智慧城市、AI人工智能等。
第一部分 架构篇
1 微服务架构与 Spring Cloud 2
1.1 微服务概念的由来 2
1.2 微服务的定义 3
1.3 微服务架构与整体式架构的区别 5
1.4 微服务架构与SOA 的比较 8
1.5 为什么要使用微服务架构 9
1.6 为实施微服务架构做好准备 10
1.6.1 思想观念的转变 10
1.6.2 团队管理方式的改变 11
1.6.3 自动化基础设施的建设 11
1.7 为什么要使用Spring Cloud 12
1.8 Spring Cloud 组件介绍 13
1.9 Spring Cloud 的版本说明 15
1.10 小结 17
2 微服务架构最佳设计 18
2.1 合理划分微服务 19
2.2 微服务治理 19?
2.3 Rest API 微服务设计 21
2.3.1 使用数据库集群 22
2.3.2 读写分离设计 22
2.3.3 使用缓存 22
2.3.4 保证Rest API 微服务的独立性 23
2.4 Web UI 微服务设计 23
2.4.1 使用FeignClient 实现负载均衡调用 23
2.4.2 使用Hystrix 实现容错设计 23
2.4.3 使用非阻塞的异步编程技术实现高并发调用 24
2.4.4 使用分布式文件系统 24
2.5 微服务之间调用规则设计 24
2.6 数据最终一致性设计 25
2.7 分布式集群架构设计 26
2.8 微服务运行环境安全设计 27
2.9 小结 27
3 电商平台微服务设计实例 29
3.1 电商平台总体设计 29
3.1.1 总体业务流程设计 29
3.1.2 总体业务功能设计 31
3.2 电商平台业务模型设计 32
3.2.1 移动商城业务模型 32
3.2.2 商家管理后台业务模型 33
3.2.3 平台管理后台业务模型 33
3.3 创建Rest API 微服务 34
3.4 创建Web UI 微服务 36
3.4.1 移动商城Web UI 微服务 36
3.4.2 商家管理后台的Web UI 微服务 37
3.4.3 平台管理后台Web UI 微服务 37
3.5 电商平台微服务体系结构 38
3.6 小结 39
第二部分 开发篇
4 开发工具选用及 Spring Boot 基础 41
4.1 开发工具选择 42
4.2 开发环境配置 42
4.3 创建Spring Boot 工程 43
4.4 使用JPA 47
4.4.1 数据源配置 48
4.4.2 JPA 配置 48
4.4.3 数据实体设计 49
4.4.4 存储库接口设计 49
4.4.5 单元测试 50
4.5 使用Thymeleaf 51
4.5.1 控制器设计 51
4.5.2 视图设计 52
4.6 运行与部署 52
4.7 小结 54
5 电商平台微服务工程设计 55
5.1 微服务工程结构 55
5.2 电商平台微服务工程组建 57
5.3 数据库选型 57
5.4 微服务工程创建步骤 58
5.5 项目基本配置 60
5.6 创建模块 64
5.7 小结 66
6 微服务治理基础服务开发 67
6.1 注册管理中心 68
6.1.1 创建注册管理中心 68
6.1.2 运行注册管理中心 70
6.1.3 微服务怎样使用注册管理中心 70
6.1.4 构建高可用的注册管理中心 72
6.2 配置管理中心 73
6.2.1 创建配置管理中心 73
6.2.2 微服务如何使用配置管理中心 76
6.2.3 在线更新配置信息 77
6.3 微服务监控中心 78
6.3.1 使用断路器仪表盘实现监控 79
6.3.2 聚合服务监控管理中心 81
6.4 服务跟踪分析中心 86
6.4.1 创建服务跟踪分析中心 86
6.4.2 在微服务中启用服务跟踪功能 90
6.5 日志分析平台 93
6.5.1 创建日志分析平台 93
6.5.2 使用日志分析平台 93
6.6 小结 94
7 Rest API 微服务开发 96
7.1 领域业务开发 96
7.1.1 使用Druid 数据源 98
7.1.2 JPA 及其配置 100
7.1.3 数据实体建模 101
7.1.4 查询对象设计 104
7.1.5 实体持久化设计 106
7.1.6 持久化测试 107
7.1.7 领域服务开发 109
7.1.8 领域服务的单元测试 111
7.1.9 使用Redis 实现缓存设计 112
7.2 Rest API 应用开发 117
7.2.1 Rest API 应用配置 117
7.2.2 启动程序设计 119
7.2.3 接口开发 119
7.3 使用消息处理事件 123
7.3.1 消息生产者设计 124
7.3.2 消息消费者设计 125
7.3.3 使用消息测试 128
7.4 小结 129
8 Web UI 微服务开发 131
8.1 高并发接口调用分层设计 131
8.2 通过FeignClient 调用Rest API 132
8.3 使用Hystrix 断路器 134
8.4 使用非阻塞异步编程方法 136
8.4.1 CompletableFuture 介绍 137
8.4.2 性能比较测试 140
8.5 Web 应用开发 145
8.5.1 项目引用配置 145
8.5.2 应用程序配置 146
8.5.3 业务功能开发 148
8.6 开发环境的热部署设置 154
8.7 使用分布式文件系统 157
8.7.1 分布式文件系统客户端开发 157
8.7.2 商品图片上传设计 159
8.7.3 富文本编辑器上传文件设计 160
8.7.4 建立本地文件信息库 163
8.8 小结 166
9 电商平台移动商城开发 167
9.1 移动商城首页设计 168
9.2 使用负载均衡的导航设计 174
9.3 按分类查询设计 176
9.4 商品详情页设计 179
9.5 购买下单实现 181
9.6 用户登录与账户切换设计 184
9.6.1 用户登录设计 184
9.6.2 切换账号设计 186
9.7 订单查询设计 188
9.8 集成测试 191
9.9 小结 192
10 商家管理后台与 SSO 设计 193
10.1 商家权限管理体系设计及开发 194
10.1.1 商家权限体系建模 195
10.1.2 商家权限体系的持久化设计 199
10.1.3 商家权限体系的领域服务开发 201
10.2 商家管理微服务开发 204
10.2.1 商家领域服务层单元测试 204
10.2.2 商家服务的接口开发 208
10.3 SSO 设计 213
10.3.1 SSO 基本配置 213
10.3.2 在SSO 中使用商家的权限体系 214
10.3.3 用户登录设计 216
10.3.4 有关验证码的说明 218
10.3.5 SSO 的主页设计 220
10.3.6 OAuth2 服务端设计 222
10.4 SSO 客户端设计 224
10.4.1 客户端的项目管理配置 224
10.4.2 客户端的安全管理配置 225
10.4.3 权限验证实现原理 226
10.4.4 如何在应用中接入SSO 228
10.4.5 有关跨站请求伪造防御的相关设置 230
10.4.6 根据用户权限自动分配菜单 230
10.5 小结 232
11 平台管理后台开发 233
11.1 平台管理后台领域设计 233
11.1.1 领域实体建模 233
11.1.2 实体的行为设计 236
11.1.3 领域服务开发 236
11.1.4 领域服务单元测试 239
11.2 平台管理后台访问控制设计 240
11.2.1 使用平台管理的用户体系 240
11.2.2 权限管理设计 242
11.3 商家的注册设计 245
11.4 商家菜单体系管理开发 248
11.4.1 分类菜单管理开发 248
11.4.2 模块菜单管理开发 249
11.4.3 访问资源管理开发 252
11.5 商家角色管理开发 255
11.6 小结 257
第三部分 运维篇
12 服务器架构设计与 Docker 使用 259
12.1 服务器组建 259
12.2 安全的服务器架构设计 260
12.2.1 防火墙安装及配置 260
12.2.2 建立安全的局域网环境 264
12.3 服务器资源分配 266
12.4 CentOS 安装 269
12.4.1 IP 地址设置 270
12.4.2 安全设置 270
12.4.3 语言配置 270
12.4.4 时间同步配置 271
12.5 Docker 和docker-compose 安装 271
12.5.1 Docker 安装及使用 272
12.5.2 docker-compose 安装及使用 275
12.6 使用Docker 搭建微服务治理环境 279
12.6.1 服务器1 的部署配置 279
12.6.2 服务器2 的部署配置 281
12.7 使用Docker 部署日志分析平台 283
12.8 使用Docker 部署微服务应用 286
12.9 小结 286
13 数据库集群设计与高可用读写分离实施 288
13.1 MySQL 安装 289
13.2 主从同步设置 291
13.3 主主同步设置 294
13.4 数据库代理中间件选择 296
13.5 使用OneProxy 实现读写分离设计 297
13.5.1 OneProxy 安装 297
13.5.2 高可用读写分离配置 298
13.6 OneProxy 分库分区设计 302
13.6.1 按范围分库分表 303
13.6.2 按值分库分表 303
13.6.3 按哈希算法分库分表 304
13.7 双机热备设计 306
13.8 小结 307
14 分布式文件系统等基础设施安装与配置 308
14.1 高可用的分布式文件系统构建 308
14.1.1 FastDFS 安装 310
14.1.2 跟踪服务器配置 310
14.1.3 存储节点配置 311
14.1.4 上传文件测试 312
14.1.5 Nginx 安装及负载均衡配置 313
14.1.6 开机启动设置 317
14.2 GitLab 安装 322
14.3 Redis 安装 324
14.4 RabbitMQ 安装 326
14.5 小结 327
15 使用自动化构建工具 Jenkins 实现CI/CD 328
15.1 持续交付工作流程 330
15.2 Jenkins 安装 331
15.3 Jenkins 基本配置 333
15.4 Jenkins 自动部署实例 335
15.4.1 创建任务 336
15.4.2 任务配置 337
15.4.3 执行任务 340
15.5 小结 343
后记 345
参考文献 346
本书从架构设计出发,结合实际讲解了Spring Cloud、Docker和Jenkins等工具的具体使用方法,用一个电商平台案例讲解了如何更好地将微服务架构的设计理念应用于生产实践中。
— 没有更多了 —
以下为对购买帮助不大的评价