简介
本书从架构设计、应用开发和运维部署三个方面出发,对微服务架构设计的实施进行了全方位的阐述和深入实践,并结合生产实际讲解了Spring Cloud、Docker和Jenkins等工具的具体使用方法。书中通过一个互联网电商平台实例实现了高并发的微服务架构设计,并通过详细的开发和实施过程,演示了构建一个安全可靠、稳定高效并可持续扩展的系统平台的方法。本书适合互联网应用开发设计人员参考学习。
目录
架 构 篇
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 小结 53
5 电商平台微服务工程设计 54
5.1 微服务工程结构 54
5.2 电商平台微服务工程组建 56
5.3 数据库选型 56
5.4 微服务工程创建步骤 57
5.5 项目基本配置 59
5.6 创建模块 63
5.7 小结 65
6 微服务治理基础服务开发 66
6.1 注册管理中心 67
6.1.1 创建注册管理中心 67
6.1.2 运行注册管理中心 69
6.1.3 微服务怎样使用注册管理中心 69
6.1.4 构建高可用的注册管理中心 71
6.2 配置管理中心 72
6.2.1 创建配置管理中心 72
6.2.2 微服务如何使用配置管理中心 75
6.2.3 在线更新配置信息 76
6.3 微服务监控中心 77
6.3.1 使用断路器仪表盘实现监控 78
6.3.2 聚合服务监控管理中心 80
6.4 服务跟踪分析中心 85
6.4.1 创建服务跟踪分析中心 85
6.4.2 在微服务中启用服务跟踪功能 89
6.5 日志分析平台 92
6.5.1 创建日志分析平台 92
6.5.2 使用日志分析平台 92
6.6 小结 93
7 Rest API微服务开发 95
7.1 领域业务开发 95
7.1.1 使用Druid数据源 97
7.1.2 JPA及其配置 99
7.1.3 数据实体建模 100
7.1.4 查询对象设计 103
7.1.5 实体持久化设计 105
7.1.6 持久化测试 106
7.1.7 领域服务开发 108
7.1.8 领域服务的单元测试 110
7.1.9 使用Redis实现缓存设计 111
7.2 Rest API应用开发 116
7.2.1 Rest API应用配置 116
7.2.2 启动程序设计 118
7.2.3 接口开发 118
7.3 使用消息处理事件 122
7.3.1 消息生产者设计 123
7.3.2 消息消费者设计 124
7.3.3 使用消息测试 127
7.4 小结 128
8 Web UI微服务开发 130
8.1 高并发接口调用分层设计 130
8.2 通过FeignClient调用Rest API 131
8.3 使用Hystrix断路器 133
8.4 使用非阻塞异步编程方法 135
8.4.1 CompletableFuture介绍 136
8.4.2 性能比较测试 139
8.5 Web应用开发 144
8.5.1 项目引用配置 144
8.5.2 应用程序配置 145
8.5.3 业务功能开发 147
8.6 开发环境的热部署设置 153
8.7 使用分布式文件系统 156
8.7.1 分布式文件系统客户端开发 156
8.7.2 商品图片上传设计 158
8.7.3 富文本编辑器上传文件设计 159
8.7.4 建立本地文件信息库 162
8.8 小结 165
9 电商平台移动商城开发 166
9.1 移动商城首页设计 167
9.2 使用负载均衡的导航设计 173
9.3 按分类查询设计 175
9.4 商品详情页设计 178
9.5 购买下单实现 180
9.6 用户登录与账户切换设计 183
9.6.1 用户登录设计 183
9.6.2 切换账号设计 185
9.7 订单查询设计 187
9.8 集成测试 190
9.9 小结 191
10 商家管理后台与SSO设计 192
10.1 商家权限管理体系设计及开发 193
10.1.1 商家权限体系建模 194
10.1.2 商家权限体系的持久化设计 198
10.1.3 商家权限体系的领域服务开发 200
10.2 商家管理微服务开发 203
10.2.1 商家领域服务层单元测试 203
10.2.2 商家服务的接口开发 207
10.3 SSO设计 212
10.3.1 SSO基本配置 212
10.3.2 在SSO中使用商家的权限体系 213
10.3.3 用户登录设计 215
10.3.4 有关验证码的说明 217
10.3.5 SSO的主页设计 219
10.3.6 OAuth2服务端设计 221
10.4 SSO客户端设计 223
10.4.1 客户端的项目管理配置 223
10.4.2 客户端的安全管理配置 224
10.4.3 权限验证实现原理 225
10.4.4 如何在应用中接入SSO 227
10.4.5 有关跨站请求伪造防御的相关设置 229
10.4.6 根据用户权限自动分配菜单 229
10.5 小结 231
11 平台管理后台开发 232
11.1 平台管理后台领域设计 232
11.1.1 领域实体建模 232
11.1.2 实体的行为设计 235
11.1.3 领域服务开发 235
11.1.4 领域服务单元测试 238
11.2 平台管理后台访问控制设计 239
11.2.1 使用平台管理的用户体系 239
11.2.2 权限管理设计 241
11.3 商家的注册设计 244
11.4 商家菜单体系管理开发 247
11.4.1 分类菜单管理开发 247
11.4.2 模块菜单管理开发 248
11.4.3 访问资源管理开发 251
11.5 商家角色管理开发 254
11.6 小结 256
运 维 篇
12 服务器架构设计与Docker使用 258
12.1 服务器组建 258
12.2 安全的服务器架构设计 259
12.2.1 防火墙安装及配置 259
12.2.2 建立安全的局域网环境 263
12.3 服务器资源分配 265
12.4 CentOS安装 268
12.4.1 IP地址设置 269
12.4.2 安全设置 269
12.4.3 语言配置 269
12.4.4 时间同步配置 270
12.5 Docker和docker-compose安装 270
12.5.1 Docker安装及使用 271
12.5.2 docker-compose安装及使用 274
12.6 使用Docker搭建微服务治理环境 278
12.6.1 服务器1的部署配置 278
12.6.2 服务器2的部署配置 280
12.7 使用Docker部署日志分析平台 282
12.8 使用Docker部署微服务应用 285
12.9 小结 285
13 数据库集群设计与高可用读写分离实施 287
13.1 MySQL安装 288
13.2 主从同步设置 290
13.3 主主同步设置 293
13.4 数据库代理中间件选择 295
13.5 使用OneProxy实现读写分离设计 296
13.5.1 OneProxy安装 296
13.5.2 高可用读写分离配置 297
13.6 OneProxy分库分区设计 301
13.6.1 按范围分库分表 302
13.6.2 按值分库分表 302
13.6.3 按哈希算法分库分表 303
13.7 双机热备设计 305
13.8 小结 306
14 分布式文件系统等基础设施安装与配置 307
14.1 高可用的分布式文件系统构建 307
14.1.1 FastDFS安装 309
14.1.2 跟踪服务器配置 309
14.1.3 存储节点配置 310
14.1.4 上传文件测试 311
14.1.5 Nginx安装及负载均衡配置 312
14.1.6 开机启动设置 316
14.2 GitLab安装 321
14.3 Redis安装 323
14.4 RabbitMQ安装 325
14.5 小结 326
15 使用自动化构建工具Jenkins实现CI/CD 327
15.1 持续交付工作流程 329
15.2 Jenkins安装 330
15.3 Jenkins基本配置 332
15.4 Jenkins自动部署实例 334
15.4.1 创建任务 335
15.4.2 任务配置 336
15.4.3 执行任务 339
15.5 小结 342
后 记 344
参考文献 345
Spring Cloud与Docker高并发微服务架构设计实施
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×