| 作者 |
| 陈韶健 |
| 丛书名 |
| 出版社 |
| 电子工业出版社 |
| ISBN |
| 9787121382864 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 本书以Spring Cloud为主导,以电商平台为实例,从服务架构设计的角度,对架构设计、程序开发、运维部署三个层面进行了详细的阐述。本书不仅详细介绍了如何使用Spring Cloud工具套件进行微服务应用的开发,还介绍了如何结合Consul、Docker、Kubernets和Jenkins等的使用方法,将开发的微服务应用以一种可扩展的方式在云端发布。通过对本书的系统学习,读者可快速将所掌握的知识应用于实际工作中,提高自身的职业竞争力。本书的读者对象为广大的Java开发者、系统架构师和系统运维人员。本书特别适合使用过Spring开源框架或具有一定Spring框架基础知识的读者阅读。 |
| 目录 |
| 第一部分 架构 第1章 微服务架构与Spring Cloud\t2 1.1 微服务架构的特点\t2 1.2 微服务架构与整体式架构的区别\t4 1.3 微服务架构与SOA的比较\t7 1.4 微服务架构的优势\t8 1.5 为实施微服务架构做好准备\t9 1.5.1 思想观念\t9 1.5.2 团队管理\t10 1.5.3 自动化基础设施\t10 1.6 Spring Cloud的优势\t11 1.7 Spring Cloud工具套件介绍\t12 1.8 Spring Cloud的版本说明\t15 1.9 小结\t15 第2章 高并发微服务架构设计\t16 2.1 微服务总体架构设计\t16 2.2 自然的压力分解\t18 2.3 可弹性伸缩的集群环境\t18 2.4 高度的独立性设计\t19 2.5 API的分层调用关系\t19 2.6 高可用的基础资源支持\t20 2.7 快速响应的自动化基础设施\t21 2.8 完善的监控体系\t21 2.9 微服务的安全保障\t21 2.10 小结\t22 第3章 大型电商平台设计实例\t23 3.1 电商平台总体设计\t23 3.1.1 总体业务流程设计\t23 3.1.2 总体业务功能设计\t25 3.2 电商平台业务模型设计\t25 3.2.1 移动商城业务模型\t26 3.2.2 商家管理后台业务模型\t26 3.2.3 平台管理后台业务模型\t27 3.3 合理划分微服务\t28 3.4 创建REST API微服务\t29 3.5 创建Web UI微服务\t30 3.5.1 移动商城Web UI微服务\t30 3.5.2 商家管理后台的Web UI微服务\t31 3.5.3 平台管理后台Web UI微服务\t31 3.6 电商平台微服务体系架构\t32 3.7 电商平台微服务项目工程\t33 3.8 微服务项目数据库选型\t33 3.9 电商平台微服务项目代码库\t34 3.10 小结\t34 第二部分 开发 第4章 开发环境准备\t36 4.1 选择Java SDK的版本\t36 4.2 下载InterlliJ IDEA\t37 4.3 下载及配置Git客户端\t37 4.4 创建Spring Cloud项目\t38 4.5 小结\t39 第5章 微服务治理\t40 5.1 使用Consul创建注册中心\t41 5.1.1 服务注册与发现\t42 5.1.2 统一配置管理\t44 5.2 合理发挥断路器的作用\t46 5.3 如何实现有效的监控\t47 5.3.1 服务健康状态监控\t47 5.3.2 重大故障告警\t49 5.3.3 断路器仪表盘\t49 5.4 Zipkin链路跟踪\t52 5.5 ELK日志分析平台\t55 5.5.1 创建日志分析平台\t55 5.5.2 使用日志分析平台\t56 5.6 小结\t57 第6章 类目管理微服务开发\t58 6.1 了解领域驱动设计\t58 6.1.1 DDD的分层结构\t59 6.1.2 DDD的基本元素\t59 6.2 Spring Data JPA\t59 6.2.1 Druid数据源配置\t60 6.2.2 JPA初始化和基本配置\t62 6.3 实体建模\t63 6.4 查询对象设计\t65 6.5 数据持久化设计\t66 6.6 数据管理服务设计\t68 6.7 单元测试\t70 6.8 类目接口微服务开发\t71 6.8.1 RESTful接口开发\t71 6.8.2 微服务接口调试\t73 6.9 基于RESTful的微服务接口调用\t74 6.9.1 声明式FeignClient设计\t74 6.9.2 断路器的使用\t76 6.10 类目管理Web应用微服务开发\t76 6.10.1 接口调用引用相关配置\t77 6.10.2 Spring MVC控制器设计\t77 6.11 使用Thymeleaf模板\t78 6.11.1 HTML页面设计\t79 6.11.2 统一风格模板设计\t80 6.12 总体测试\t82 6.13 有关项目打包与部署\t83 6.14 小结\t84 第7章 库存管理与分布式文件系统\t85 7.1 基于MyBatis的数据库开发\t85 7.1.1 使用经过组装的MyBatis组件\t85 7.1.2 数据对象及其表结构定义\t86 7.1.3 Mapper与SQL定制\t88 7.2 数据库服务组装\t89 7.3 单元测试\t91 7.4 库存微服务接口开发\t92 7.4.1 在主程序中支持MyBatis\t92 7.4.2 基于REST协议的控制器设计\t93 7.5 库存管理的Web应用开发\t94 7.5.1 公共对象的依赖引用\t95 7.5.2 商品分页数据调用设计\t95 7.6 Web应用项目热部署设置\t97 7.7 使用分布式文件系统DFS\t99 7.7.1 分布式文件系统客户端开发\t99 7.7.2 商品图片上传设计\t102 7.7.3 富文本编辑器上传图片设计\t106 7.7.4 建立本地文件信息库\t108 7.8 总体测试\t112 7.9 小结\t114 第8章 海量订单系统微服务开发\t115 8.1 使用MongoDB支持海量数据\t115 8.1.1 使用Mongo插件\t115 8.1.2 MongoDB数据源相关配置\t116 8.2 订单文档建模\t117 8.2.1 订单及其明细数据\t117 8.2.2 订单状态枚举\t119 8.3 反应式MongoDB编程设计\t121 8.3.1 基于Spring Data的存储库接口设计\t121 8.3.2 动态分页查询设计\t121 8.4 Mongo单元测试\t123 8.5 订单接口微服务开发\t125 8.6 订单的分布式事务管理\t127 8.6.1 订单取消的消息生成\t127 8.6.2 订单取消的库存变化处理\t129 8.7 订单管理后台微服务开发\t131 8.7.1 订单查询主页设计\t131 8.7.2 订单状态修改设计\t133 8.8 集成测试\t135 8.9 小结\t137 第9章 移动商城的设计和开发\t138 9.1 移动商城首页设计\t139 9.2 商城的分类查询设计\t143 9.3 商品详情页设计\t145 9.4 用户下单功能实现\t147 9.5 商城的用户登录与账户切换设计\t152 9.5.1 用户登录设计\t152 9.5.2 切换账号设计\t155 9.6 订单查询设计\t156 9.7 集成测试\t160 9.8 小结\t162 第10章 商家管理后台与SSO设计\t163 10.1 商家权限体系的设计及开发\t164 10.1.1 权限管理模型设计\t165 10.1.2 权限管理模型的持久化设计\t170 10.1.3 权限管理模型的服务封装\t171 10.2 商家管理微服务设计\t175 10.2.1 商家管理服务层单元测试\t175 10.2.2 商家服务的接口开发\t178 10.3 SSO设计\t183 10.3.1 SSO的基本配置\t183 10.3.2 SSO第三方应用授权设计\t184 10.3.3 SSO登录认证设计\t186 10.3.4 有关验证码的说明\t191 10.3.5 SSO的主页设计\t193 10.4 SSO客户端设计\t196 10.4.1 安全认证的项目管理配置\t196 10.4.2 安全认证项目的配置类\t196 10.4.3 权限管理验证设计\t198 10.4.4 客户端应用接入SSO\t201 10.4.5 有关跨站请求的相关设置\t203 10.4.6 根据用户权限自动分配菜单\t203 10.5 小结\t206 第11章 平台管理后台与商家菜单资源管理\t207 11.1 平台管理后台访问控制设计\t207 11.1.1 实体建模\t207 11.1.2 为实体赋予行为\t210 11.1.3 数据访问服务设计\t210 11.1.4 单元测试\t213 11.2 平台管理后台的访问控制设计\t214 11.2.1 在访问控制中使用操作员\t215 11.2.2 平台管理后台的权限管理设计\t215 11.3 商家的注册管理设计\t219 11.4 商家权限及其菜单资源管理设计\t222 11.4.1 分类菜单管理设计\t222 11.4.2 模块菜单管理设计\t224 11.4.3 资源菜单管理设计\t228 11.5 商家角色管理设计\t232 11.6 小结\t236 第三部分 运维 第12章 云服务环境与Docker部署工具\t238 12.1 虚拟机与基于Docker创建的容器\t238 12.2 安全可靠的云服务环境\t239 12.3 Docker和docker-compose的下载与配置\t240 12.3.1 Docker引擎的安装及使用\t240 12.3.2 docker-compose的下载及配置\t241 12.4 使用Docker方式发布微服务\t242 12.4.1 镜像创建及其生成脚本\t242 12.4.2 服务发布与更新\t243 12.5 使用Docker部署日志分析平台\t243 12.6 基于Docker的高级部署工具\t246 12.6.1 私域镜像仓库\t246 12.6.2 Docker Swarm\t247 12.6.3 Kubernetes\t249 12.7 小结\t253 第13章 可扩展分布式数据库集群的搭建\t254 13.1 MySQL集群主机分配\t255 13.2 主从同步设置\t256 13.3 主主同步设置\t259 13.4 数据库代理中间件选择\t261 13.5 使用OneProxy实现读写分离设计\t261 13.5.1 安装OneProxy\t262 13.5.2 高可用读写分离配置\t263 13.6 OneProxy分库分区设计\t267 13.6.1 按范围分库分表\t268 13.6.2 按值列表分库分表\t268 13.6.3 按散列算法分库分表\t269 13.7 双机热备设计\t271 13.7.1 Real Server配置\t272 13.7.2 LVS主机配置\t273 13.7.3 LVS备用机配置\t275 13.8 小结\t277 第14章 高可用分布式文件系统的组建\t278 14.1 FastDFS架构\t278 14.2 FastDFS的安装\t279 14.3 跟踪服务器配置\t280 14.4 存储节点配置\t281 14.5 上传文件测试\t282 14.6 Nginx的安装及负载均衡配置\t283 14.6.1 在跟踪器上安装Nginx\t283 14.6.2 在存储节点上安装Nginx\t285 14.7 开机启动\t287 14.7.1 开机启动Tracker\t287 14.7.2 开机启动Storage\t289 14.7.3 开机启动Nginx\t291 14.8 小结\t293 第15章 使用Jenkins实现自动化构建\t294 15.1 持续交付工作流程\t295 15.2 Jenkins的安装\t296 15.3 Jenkins的基本配置\t298 15.4 Jenkins的自动部署实例\t300 15.4.1 创建任务\t300 15.4.2 任务配置\t301 15.4.3 执行任务\t305 15.5 小结\t309 后记\t310 参考文献\t311 |