新書推薦:
《
化妆品学原理
》
售價:NT$
254.0
《
万千教育学前·与幼儿一起解决问题:捕捉幼儿园一日生活中的教育契机
》
售價:NT$
214.0
《
爱你,是我做过最好的事
》
售價:NT$
254.0
《
史铁生:听风八百遍,才知是人间(2)
》
售價:NT$
254.0
《
量子网络的构建与应用
》
售價:NT$
500.0
《
拍电影的热知识:126部影片里的创作技巧(全彩插图版)
》
售價:NT$
500.0
《
大唐名城:长安风华冠天下
》
售價:NT$
398.0
《
情绪传染(当代西方社会心理学名著译丛)
》
售價:NT$
403.0
編輯推薦:
1.化繁为简,精选实用的核心技术!作为分布式系统,Spring Boot+Spring Cloud微服务架构包含很多组件,所涉及的技术对于初学者而言可以说是浩如烟海,因此,在有限的篇幅中不可能涵盖全部。本书在内容的选择、深度的把握上力求做到深入浅出、循序渐进,方便初学者阅读和学习。2.依托图表和案例,帮助读者理解抽象的架构设计问题!作为开发架构类的入门级教材,本书通过各种流程图、架构图来描述微服务架构的工作原理。本书通过介绍大量案例,为读者理解抽象概念提供了捷径。特别是第10章介绍的“秒杀抢购”案例,可以帮助读者系统地理解微服务架构的作用。3.提供配套教辅资源!编者为使用本书的教师制作了配套的电子教案,并提供了各章习题的参考答案和11个实验的电子文档,以及“秒杀抢购”案例和大作业“迷你购物电商网站应用实例”的数据库脚本和源程序,上述资源可以通过人邮教育社区(www.ryjiaoyu.com)进行下载。
內容簡介:
Spring Boot + Spring Cloud + Docker是目前国内相关领域工程人员搭建微服务架构的主要解决方案之一,它基于的是流行的Java开发框架——Spring,现已成为微服务架构的技术方案。本书通过大量案例介绍使用Spring Boot + Spring Cloud + Docker开发微服务架构(应用程序)的方法,包括开发服务注册中心程序、服务提供者程序、服务消费者程序、认证服务、API网关等组件,进而搭建完整的微服务架构。为了便于初学者学习和理解相关内容,编者大量使用流程图和架构图对问题进行描述和讲解;同时,精选“秒杀抢购”案例,使读者直观地了解微服务架构在实际应用程序开发工作中的应用,提升读者的实战技能。本书可作为高等院校相关课程的教材,也可作为广大互联网应用程序开发人员的参考书。
關於作者:
李晓黎:1998年毕业于吉林大学计算机系,硕士,具有中国投资银行、国家开发银行、中信实业银行等多家银行从业经历,多年参与银行信息化建设和网银平台开发工作,积累了深厚的全栈技术和丰富的实战开发经验,自2006年以来10多年间带领所组建的开发团队,从事网络管理软件、企业ERP系统和电商平台的开发与建设,对开发模式、开发团队组织管理和系统架构设计有着深入的理解和丰富的实战经验。在带领技术团队的过程中积累了丰富的专业技术与培训经验。
目錄 :
第 1章 微服务架构概述1.1 软件系统架构 011.1.1 计算机硬件发展对软件系统架构的影响 011.1.2 软件系统架构的演进 031.2 主流微服务架构解决方案 081.3 开发环境和测试环境 101.3.1 开发环境 111.3.2 测试环境 14本章小结 25习题1第 2章 Spring Boot和Spring Cloud编程基础2.1 Spring框架 272.1.1 Spring框架的体系结构 272.1.2 一个简单的Maven项目案例 292.1.3 IoC容器 322.1.4 注解 362.2 Spring Boot编程基础 412.2.1 Spring与Spring Boot的关系 412.2.2 开发一个简单的Spring Boot应用程序 412.2.3 基于Spring Boot开发MVC Web应用程序 452.2.4 利用Thymeleaf模板引擎实现动态页面 502.2.5 记录日志 542.2.6 通过MyBatis访问MySQL数据库 572.2.7 以Jar包形式运行Spring Boot应用程序 642.3 Spring Cloud概述 652.3.1 Spring Cloud家族的成员 652.3.2 Spring Cloud与Spring Boot的 关系 672.3.3 Spring Boot与Spring Cloud的 版本 67本章小结 69习题2第3章 服务注册中心程序开发3.1 Spring Cloud Eureka的服务注册机制 713.2 开发基于Eureka的服务注册中心程序 723.2.1 本章案例项目 723.2.2 启动类 733.2.3 Eureka服务注册中心的主页 733.2.4 配置文件 753.2.5 Eureka的高可用性 783.2.6 部署Eureka服务注册中心 783.2.7 以服务形式运行Eureka Server 82本章小结 84习题3第4章 服务提供者程序开发4.1 开发基于RESTful架构的Web服务 864.1.1 RESTful架构概述 864.1.2 开发RESTful服务 874.1.3 实现POST方法 884.1.4 实现PUT方法 884.1.5 实现DELETE方法 894.1.6 以JSON格式传递数据 894.2 开发Spring Cloud资源服务 914.2.1 注册到Eureka Server 914.2.2 案例:开发用户系统服务 914.2.3 使用Postman测试服务提供者程序 99本章小结 104习题4第5章 服务消费者程序开发5.1 准备服务提供者实例环境 1055.1.1 对User服务进行适当的改造 1055.1.2 为User服务部署多个实例 1065.2 Spring Cloud Ribbon 1075.2.1 负载均衡 1075.2.2 Spring Cloud Ribbon编程基础 1095.3 Spring Cloud Feign 1135.3.1 添加Feign依赖 1135.3.2 项目的启动类 1145.3.3 @FeignClient注解 114本章小结 116习题5第6章 认证服务开发6.1 微服务架构的安全认证 1186.1.1 认证服务器的作用 1186.1.2 OAuth 2.0概述 1196.2 开发基于OAuth 2.0的认证服务 1226.2.1 与安全认证有关的数据库表 1226.2.2 认证服务项目 1276.2.3 启动类 1296.2.4 MyBatis配置 1296.2.5 用户管理的实现 1306.2.6 安全配置类 1326.2.7 部署认证服务 1356.2.8 使用Postman获取access token 1366.3 服务提供者程序的安全机制 1376.3.1 服务提供者程序安全机制的工作原理 1376.3.2 服务提供者程序的启动类 1386.3.3 资源服务配置类 1386.4 在应用程序中获取access token 1406.4.1 在程序中以POST方法调用接口 1406.4.2 在POST请求包头中指定Basic Auth信息 1416.4.3 在POST请求包中指定grant_type和scope参数 1416.4.4 从认证服务获取access token的案例 142本章小结 144习题6第7章 微服务的容错保护机制7.1 Spring Cloud Hystrix概述 1467.1.1 熔断器的工作原理 1467.1.2 Spring Cloud Hystrix的工作原理 1477.2 准备服务提供者实例环境 1487.2.1 对User服务进行适当的改造 1487.2.2 为User服务部署多个实例 1497.3 Spring Cloud Hystrix编程 1497.3.1 在项目中启用Hystrix组件 1497.3.2 在Ribbon中应用Hystrix 1507.3.3 在Feign中应用Hystrix 153本章小结 155习题7第8章 API网关8.1 Spring Cloud Zuul概述 1578.2 Spring Cloud Zuul编程 1588.2.1 在项目中启用Zuul组件 1588.2.2 在application.yml中配置Zuul 1588.2.3 Zuul过滤器 1598.2.4 通过Zuul服务器调用服务 1628.2.5 设置Zuul网关的白名单 1648.2.6 记录访问日志 1688.3 应用程序通过API网关调用服务接口 1718.3.1 在应用程序中以GET方式调用接口 1718.3.2 在应用程序中以POST方式调用接口 174本章小结 179习题8第9章 微服务配置中心9.1 Spring Cloud Config概述 1809.2 Git基础 1819.2.1 Git的工作流程 1819.2.2 注册GitHub账号 1829.2.3 创建GitHub仓库 1829.2.4 在STS中上传代码至GitHub仓库 1829.3 开发配置中心的服务器 1859.3.1 在项目中启用Spring CloudConfig Server组件 1859.3.2 共享Config Server的本地配置文件 1869.3.3 使用Git管理配置文件 1889.3.4 部署ConfigServerGit项目 1909.4 开发配置中心的客户端 1919.4.1 pom依赖和启动类 1919.4.2 配置中心客户端程序的配置文件 1929.4.3 配置中心的客户端程序案例 193本章小结 195习题9第 10章 微服务架构的消息机制10.1 应用程序的消息机制 19610.1.1 单机应用程序的消息机制 19610.1.2 分布式应用程序的消息 机制 19710.1.3 基于Redis实现分布式消息 队列 19910.1.4 Spring Boot集成RabbitMQ 消息队列 20410.2 Spring Cloud Bus 21310.2.1 Spring Cloud Bus的工作 原理 21310.2.2 开发Spring Cloud Bus应用 程序 21510.2.3 在配置中心中实现自动刷新 配置功能 21510.3 通过Spring Cloud Stream收发消息 21910.3.1 Spring Cloud Stream应用 程序模型 21910.3.2 利用Spring Cloud Stream集成 RabbitMQ实现消息处理 22010.4 消息队列在秒杀抢购场景中的应用 22410.4.1 秒杀抢购应用场景解析 22510.4.2 传统架构的高并发瓶颈 22510.4.3 秒杀抢购解决方案 22610.4.4 限流算法及其实现 22810.4.5 秒杀抢购案例 230本章小结 243习题10第 11章 利用Docker容器化部署微服务应用11.1 容器化概述 24411.1.1 Docker概述 24411.1.2 Docker的基本概念 24511.1.3 Docker与虚拟机的对比 24611.2 Docker基础 24711.2.1 在CentOS中安装Docker 24711.2.2 使用Docker容器 24911.2.3 搭建Docker Registry私服 25311.2.4 使用Docker部署Spring Boot 应用程序 25511.2.5 以Docker镜像的形式运行 Eureka服务应用程序 25911.2.6 在Docker中使用自定义的 配置文件 26011.2.7 修改Docker容器中的配置 文件 26211.2.8 容器中日志的持久化 26411.3 Docker Compose 26711.3.1 Docker Compose的特性 26711.3.2 在CentOS中安装Docker Compose 26711.3.3 Docker Compose中的层次 概念 26811.3.4 docker-compose.yml配置 文件 26811.3.5 Docker Compose的常用 命令 27011.3.6 通过Docker Compose 搭建 微服务项目 271本章小结 282习题11