新書推薦:
《
非言语沟通经典入门:影响人际交往的重要力量(第7版)
》
售價:NT$
560.0
《
山西寺观艺术壁画精编卷
》
售價:NT$
7650.0
《
中国摄影 中式摄影的独特魅力
》
售價:NT$
4998.0
《
山西寺观艺术彩塑精编卷
》
售價:NT$
7650.0
《
积极心理学
》
售價:NT$
254.0
《
自由,不是放纵
》
售價:NT$
250.0
《
甲骨文丛书·消逝的光明:欧洲国际史,1919—1933年(套装全2册)
》
售價:NT$
1265.0
《
剑桥日本戏剧史(剑桥世界戏剧史译丛)
》
售價:NT$
918.0
編輯推薦:
本书为零基础入门级实战版图书,读者可通过420分钟教学视频,轻松地学习Spring Cloud*知识及实战开发案例,同时本书还可作为高校教材。
內容簡介:
本书先介绍Spring Cloud概述,Spring Cloud 路由、服务注册与发现、认证与鉴权、断路器、配置中心、服务监控与跟踪、消息、其他组件(如Task等)的应用,阿里系Dubbo生态系统(Spring Cloud Alibaba和Dubbo等)的应用。希望通过对Spring Cloud和Dubbo生态系统的介绍,加深读者对微服务实现时方案可选性的认识。然后,结合一个简单案例演示了基于Spring Cloud的微服务开发过程。*后,简单介绍Service Mesh(服务网格)和Spring Cloud Sidecar的应用,说明微服务开发的新思路。 本书由浅入深结合示例介绍各个知识点;并以响应客户端服务请求的处理顺序和开发步骤来组织章节内容;还配备了示例的操作视频;可以帮助读者更好地理解、掌握Spring Cloud微服务开发技术。
關於作者:
吴胜,博士,江苏师范大学副教授;具有近20多年从事软件工程、电子商务等方面的教学经验;曾在信息管理与信息系统、云会计等方面发表近20余篇中文核心论文;曾出版《人工智能基础与应用》《微信小程序开发基础》。
目錄 :
目录
第1章Spring Cloud概述
1.1Spring Cloud简介
1.1.1Spring的构成
1.1.2Spring Cloud的构成
1.2Spring Cloud的特征
1.2.1Spring Boot与Spring Cloud的共同特点
1.2.2Spring Cloud的其他特点
1.3配置开发环境
1.3.1安装JDK
1.3.2安装IntelliJ IDEA
1.4创建项目与实现微服务
1.4.1利用IDEA创建项目
1.4.2创建项目的基本构成情况
1.4.3基于Spring Boot的微服务实现
1.5Spring Cloud微服务开发起步
1.5.1软件生命周期
1.5.2Spring Cloud响应服务请求的处理顺序
1.5.3Spring Cloud微服务开发的步骤
习题1
第2章Spring Cloud路由的应用
2.1服务网关与Spring Cloud 路由简介
2.1.1服务网关的作用
2.1.2Spring Cloud路由的相关技术
2.2Spring Cloud Gateway路由的应用
2.2.1创建项目并添加依赖
2.2.2创建类HelloController
2.2.3修改配置文件application.properties
2.2.4修改入口类
2.2.5运行程序
2.2.6程序扩展
2.3Spring Cloud Gateway过滤器的应用
2.3.1创建项目并添加依赖
2.3.2创建类HelloController
2.3.3创建类ElapsedFilter
2.3.4修改入口类
2.3.5运行程序
2.4Spring Cloud Feign的应用
2.4.1创建项目并添加依赖
2.4.2创建接口FeignService
2.4.3创建类FeignController
2.4.4修改入口类
2.4.5运行程序
2.5Spring Cloud Ribbon的应用
2.5.1创建项目并添加依赖
2.5.2创建类HelloController
2.5.3修改配置文件application.properties
2.5.4修改入口类
2.5.5运行程序
2.5.6程序扩展
2.6Spring Cloud Zuul的应用
2.6.1创建项目并添加依赖
2.6.2创建配置文件application.yml
2.6.3修改入口类
2.6.4运行程序
2.6.5程序扩展
习题2
第3章Spring Cloud服务发现的应用
3.1Spring Cloud服务注册与发现的简介
3.1.1服务的注册和发现
3.1.2Spring Cloud服务发现解决方案
3.2Spring Cloud Eureka的应用
3.2.1Spring Cloud Eureka注册中心的实现
3.2.2Spring Cloud Eureka服务提供者的实现
3.2.3Spring Cloud Eureka服务消费者的实现
3.2.4运行程序
3.3Spring Cloud Consul的应用
3.3.1Spring Cloud Consul服务提供者的实现
3.3.2Spring Cloud Consul服务消费者的实现
3.3.3运行程序
3.4Spring Cloud Zookeeper的应用
3.4.1Spring Cloud Zookeeper服务提供者的实现
3.4.2Spring Cloud Zookeeper 服务消费者的实现
3.4.3运行程序
习题3
第4章Spring Cloud认证与鉴权的应用
4.1Spring Cloud Security的简单应用
4.1.1创建项目并添加依赖
4.1.2创建类HelloController
4.1.3创建配置文件application.yml
4.1.4运行程序
4.1.5程序扩展
4.2Spring Cloud OAuth 2的简单应用
4.2.1创建项目并添加依赖
4.2.2创建类HelloController
4.2.3创建文件index.html
4.2.4创建配置文件application.yml
4.2.5修改入口类
4.2.6运行程序
4.3JWT的简单应用
4.3.1创建项目并添加依赖
4.3.2创建类User
4.3.3创建类TokenUserAuthentication
4.3.4创建类JwtUtil
4.3.5创建类HelloController
4.3.6创建文件index.html
4.3.7创建配置文件application.yml
4.3.8修改入口类
4.3.9运行程序
4.4Gateway、JWT、Actuator的综合应用
4.4.1创建项目并添加依赖
4.4.2创建类JwtUtil
4.4.3创建类HelloController
4.4.4创建配置文件application.yml
4.4.5修改入口类
4.4.6运行程序
4.5Eureka、Zuul、OAuth2和JWT的综合应用
4.5.1zuulserver的实现
4.5.2authserver的实现
4.5.3clienta的实现
4.5.4运行程序
习题4
第5章Spring Cloud断路器的应用
5.1Spring Cloud Hystrix的应用
5.1.1创建项目并添加依赖
5.1.2创建接口HiService
5.1.3创建类HiController
5.1.4创建类HelloController
5.1.5修改配置文件application.properties
5.1.6修改入口类
5.1.7运行程序
5.2Spring Cloud Hystrix Dashboard的应用
5.2.1添加依赖
5.2.2修改入口类
5.2.3运行程序
5.3Spring Cloud Turbine的应用
5.3.1创建项目并添加依赖
5.3.2修改配置文件application.properties
5.3.3修改入口类
5.3.4运行程序
习题5
第6章Spring Cloud配置中心的应用
6.1Spring Cloud Config Server的应用
6.1.1创建项目并添加依赖
6.1.2修改配置文件application.properties
6.1.3修改入口类
6.1.4运行程序
6.2Spring Cloud Config Client的应用
6.2.1创建项目并添加依赖
6.2.2创建类HelloController
6.2.3修改配置文件application.properties
6.2.4运行程序
6.3Spring Cloud Consul的应用
6.3.1创建项目并添加依赖
6.3.2创建配置文件application.yml
6.3.3创建配置文件bootstrap.yml
6.3.4修改入口类
6.3.5运行程序
6.4Spring Cloud Zookeeper的应用
6.4.1创建项目并添加依赖
6.4.2创建类HelloController
6.4.3创建配置文件bootstrap.yml
6.4.4运行程序
习题6
第7章Spring Cloud服务跟踪的应用
7.1Spring Cloud Sleuth的应用
7.1.1创建项目并添加依赖
7.1.2创建类SleuthService
7.1.3创建类SchedulingService
7.1.4创建类ThreadConfig
7.1.5创建类HelloController
7.1.6修改配置文件application.properties
7.1.7运行程序
7.2Spring Cloud Zipkin的应用
7.2.1创建项目zipkinexample
7.2.2创建项目zipkinclient1
7.2.3创建项目zipkinuser1
7.2.4运行程序
习题7
第8章Spring Cloud消息的应用
8.1Spring Cloud Bus的应用
8.1.1Spring Cloud Config Server的应用
8.1.2Spring Cloud Bus的应用实现
8.1.3运行程序
8.2Spring Cloud Stream的应用
8.2.1创建项目并添加依赖
8.2.2创建接口Sink
8.2.3创建类SinkReceiver
8.2.4创建配置文件application.yml
8.2.5运行程序
习题8
第9章Spring Cloud其他组件的应用
9.1Spring Cloud Task的应用
9.1.1创建项目并添加依赖
9.1.2创建类ScheduledTask
9.1.3创建类HelloController
9.1.4创建配置文件application.yml
9.1.5修改入口类
9.1.6运行程序
9.2Spring Cloud Function的应用
9.2.1创建项目并添加依赖
9.2.2创建类Greeter
9.2.3创建类HelloController
9.2.4运行程序
9.3Cloud Foundry的应用
9.3.1Cloud Foundry简介
9.3.2利用Cloud Foundry平台部署Spring Boot应用
习题9
第10章Spring Cloud Alibaba的应用
10.1Spring Cloud Alibaba简介
10.1.1Spring Cloud Alibaba主要功能
10.1.2Spring Cloud Alibaba 组件
10.2Nacos Config的应用
10.2.1创建项目并添加依赖
10.2.2创建类ConfigController
10.2.3创建并修改配置文件bootstrap.properties
10.2.4运行程序
10.3Nacos Discovery的应用
10.3.1服务提供者的实现
10.3.2服务消费者的实现
10.3.3运行程序
10.4Sentinel的应用
10.4.1创建项目并添加依赖
10.4.2创建类HelloController
10.4.3修改配置文件application.properties
10.4.4运行程序
10.5ACM的应用
10.5.1辅助工作
10.5.2创建项目并添加依赖
10.5.3创建类SampleController
10.5.4修改配置文件application.properties
10.5.5运行程序
习题10
第11章Dubbo的应用
11.1Dubbo简介
11.1.1Dubbo主要功能
11.1.2Dubbo Spring Boot简介
11.2Dubbo的简单应用
11.2.1服务提供者的实现
11.2.2服务消费者的实现
11.2.3运行程序
11.3Dubbo Spring Boot的应用
11.3.1服务提供者的实现
11.3.2服务消费者的实现
11.3.3运行程序
11.4Spring Cloud Dubbo的应用
11.4.1服务提供者的实现
11.4.2服务消费者的实现
11.4.3运行程序
习题11
第12章Spring Cloud的综合应用案例
12.1实现配置中心caseconfigserver
12.1.1创建项目并添加依赖
12.1.2创建配置文件application.yml
12.1.3修改入口类
12.1.4运行程序
12.2实现客户端服务 caseeurekauserclient
12.2.1创建项目并添加依赖
12.2.2创建类User
12.2.3创建接口UserDao
12.2.4创建类UserController
12.2.5修改和创建配置文件
12.2.6修改入口类
12.2.7运行程序
12.3实现服务消费端 caseuserribbon
12.3.1创建项目并添加依赖
12.3.2创建类User
12.3.3创建类UserRibbonService
12.3.4创建类UserController
12.3.5创建配置文件application.yml
12.3.6修改入口类
12.3.7运行程序
12.4实现服务消费端caseservice
12.4.1创建项目并添加依赖
12.4.2创建类User
12.4.3创建接口UserFeignService
12.4.4创建类UserController
12.4.5修改配置文件application.properties
12.4.6修改入口类
12.4.7运行程序
12.5实现路由网关casezuul
12.5.1创建项目并添加依赖
12.5.2创建配置文件application.yml
12.5.3修改入口类
12.5.4运行程序
习题12
第13章Service Mesh与Spring Cloud Sidecar
13.1Service Mesh概述
13.1.1Service Mesh简介
13.1.2Service Mesh的特点
13.1.3数据面和控制面
13.2Linkerd和Envoy简介
13.2.1Linkerd简介
13.2.2Envoy简介
13.3Istio概述
13.3.1Istio简介
13.3.2Istio核心功能
13.3.3Istio架构
13.3.4Istio应用的模拟
13.4Conduit概述
13.4.1Conduit简介
13.4.2Conduit架构
13.5国内Service Mesh实践简介
13.5.1SOFAMesh简介
13.5.2Dubbo Mesh简介
13.5.3华为服务网格简介
13.5.4京东服务网格简介
13.5.5新浪微博Weibo Mesh简介
13.5.6云帮Rainbond服务网格简介
13.6Spring Cloud Sidecar的应用
13.6.1创建项目并添加依赖
13.6.2修改配置文件application.properties
13.6.3修改入口类
13.6.4创建nodeservice.js
13.6.5运行程序
习题13
附录A相关软件的安装和配置
A.1JDK的安装和配置
A.2Consul服务器的配置
A.3ZooKeeper服务器的配置
A.4Nacos服务器的配置
附录B基于Feign实现文件传送
B.1实现Eureka服务器项目mweathereurekaserver
B.1.1新建项目并添加依赖
B.1.2修改入口类与创建配置文件
B.2实现文件接收者项目feignserver
B.2.1新建项目并添加依赖
B.2.2修改入口类和配置文件
B.3实现文件传送者项目feignclient
B.3.1新建项目并添加依赖
B.3.2创建接口、类和修改配置文件
B.4程序运行结果
附录C基于Ribbon实现文件上传
C.1实现文件上传服务提供者项目uploadfile
C.1.1新建项目并添加依赖
C.1.2创建类
C.1.3新建文件和修改配置文件
C.2实现文件上传服务消费者项目fileuser
C.2.1新建项目并添加依赖
C.2.2创建类、修改配置文件和配置文件
C.3程序运行结果
附录D简易天气预报系统的实现
D.1实现天气服务提供者项目weatherbasic
D.1.1新建项目并添加依赖
D.1.2创建类、接口并修改配置文件
D.2实现天气服务消费者项目weatherclient
D.2.1新建项目并添加依赖
D.2.2创建类
D.2.3新建文件和修改配置文件
D.3程序运行结果
附录EApollo和Zuul的整合开发
E.1Apollo配置中心的准备和启动
E.1.1Apollo配置中心的准备
E.1.2Apollo配置中心的启动
E.2本案例的结构说明和Apollo配置中心的内容设置
E.2.1本案例的结构说明
E.2.2Apollo配置中心的内容设置
E.3实现服务提供者项目apolloconfig
E.3.1新建项目并添加依赖
E.3.2创建类、文件和修改配置文件
E.4实现服务提供者项目apollouser
E.4.1新建项目并添加依赖
E.4.2创建类、文件和修改配置文件
E.5实现zuul项目zuulapollo
E.5.1新建项目并添加依赖
E.5.2创建类、修改入口类和配置文件
E.6程序运行结果
E.6.1apolloconfig服务运行结果
E.6.2apollouser服务运行结果
E.6.3zuulapollo服务运行结果
附录FSpring Cloud在微信小程序的简单应用
F.1启动作为后台的Spring Cloud微服务
F.1.1启动Apollo配置中心
F.1.2保持后台服务不变
F.1.3在浏览器中直接访问微服务的结果
F.2前端微信小程序应用的实现
F.2.1微信小程序的开发工具安装和项目创建
F.2.2创建项目并新建、修改文件
F.2.3微信小程序项目的运行结果
F.3Spring Cloud微服务和微信小程序整合的关键点
F.3.1两者关联的关键代码
F.3.2注意事项
附录GSpring Cloud和Vue.js的整合开发
G.1在IDEA中整合Spring Cloud和Vue.js
G.1.1Vue.js的安装
G.1.2在IDEA中集成Vue.js
G.2Spring Cloud微服务和Vue.js整合示例的实现
G.2.1创建Vue.js项目helloworld
G.2.2后台服务
G.2.3运行结果
G.3Spring Cloud微服务和Vue.js整合的关键点
G.3.1两者整合的关键
G.3.2结果对比
参考文献
內容試閱 :
前言
正如Martin Fowler所指出的那样: 微服务架构是一种将单一的应用程序划分为一组小型服务的方法,每个服务运行在自己的进程中,服务间通过轻量级的机制进行通信。
目前,微服务架构尚未有统一的标准。但是,这丝毫不影响开发者对微服务架构的热情。认识上的差异使得大家采用不同方案实现微服务架构的应用,如Dubbo生态系统(Spring Cloud Alibaba和Dubbo等)、Dropwizard、Spring Cloud和Service Mesh。
Spring Cloud是众多功能的组合体,为微服务应用开发中遇到的众多问题提供了全面、优秀的全家桶式的解决方案。Spring Cloud具有开箱即用、开发效率高、文档丰富、社区活跃等特点。因此,Spring Cloud成为国内微服务开发领域的热门技术之一。
对于初学者而言,在进行Spring Cloud微服务应用开发时,相关技术略显复杂。比如,技术之间的关系、技术在整个微服务架构中的作用、项目的依赖管理和配置等问题都增加了Spring Cloud学习和开发的难度。Spring Cloud以Spring Boot为基础,具备简单、易用的特点,而且Spring Cloud具有良好的开发工具、丰富的帮助文档,这些因素都有助于降低学习和开发难度。
考虑到初学者(特别是在校学生)往往对Spring Boot、Spring Cloud、微服务的开发经验较少,为了降低Spring Cloud微服务开发的学习门槛,本书按照响应客户端服务请求的处理顺序和开发步骤的行文结构,安排与组织各个章节的内容。为了帮助读者更好地安排学习时间,同时也为了教师更好地安排教学,本书给出了各章的建议学时(建议学时分为理论学时和实践学时)。
章内容建议理论学时建议实践学时
第1章Spring Cloud概述21
第2章Spring Cloud路由的应用32
第3章Spring Cloud服务发现的应用22
第4章 Spring Cloud认证与鉴权的应用22
续表
章内容建议理论学时建议实践学时
第5章 Spring Cloud断路器的应用21
第6章 Spring Cloud配置中心的应用21
第7章 Spring Cloud服务跟踪的应用11
第8章 Spring Cloud消息的应用11
第9章 Spring Cloud其他组件的应用21
第10章 Spring Cloud Alibaba的应用21
第11章 Dubbo的应用11
第12章 Spring Cloud的综合应用案例21
第13章 Service Mesh与Spring Cloud Sidecar21
合计学时2416
在开设Spring Cloud微服务开发相关课程时,教师可以根据总课时、学生基础和教学目标等情况调整各章的学时。学习者也可以有选择地阅读各个章节的内容,并合理安排好学习时间。
为便于教学,本书配有教学视频、源代码、课件等配套资源。
(1) 获取教学视频方式: 读者可以先扫描本书封底的文泉云盘防盗码,再扫描书中相应的视频二维码,观看教学视频。
(2) 获取源代码方式: 先扫描本书封底的文泉云盘防盗码,再扫描下方二维码,即可获取。
(3) 其他配套资源可以扫描本书封底的课件二维码下载。
关于如何直接使用源程序的说明
教材源程序
由于时间短,加上编者水平有限,书中难免有疏漏之处,敬请读者朋友批评指正。
作者2020年2月