fbpx

[email protected]

购物车

 查看订单

  • 我的帐户
东东购 | EasternEast
  • 中文书店
    • 畅销排行榜
      • 小说 畅销榜
      • 童书 畅销榜
      • 外语畅销榜
      • 管理畅销榜
      • 法律畅销榜
      • 青春文学畅销榜
    • 热门分类
      • 社会小说
      • 成功/励志 畅销榜
      • 人物传记
      • 大陆原创
      • 绘本童书
      • 影视小说
    • 文学推荐
      • 文集
      • 戏剧
      • 纪实文学
      • 名家作品
      • 民间文学
      • 中国现当代随笔
    • 新书热卖榜
      • 小说 新书热卖榜
      • 青春文学 新书热卖榜
      • 童书 新书热卖榜
      • 管理 新书热卖榜
      • 成功/励志 新书热卖榜
      • 艺术 新书热卖榜
  • 精选分类
    • 小说
    • 保健养生
    • 烹饪/美食
    • 风水/占卜
    • 青春文学
    • 童书
    • 管理
    • 成功/励志
    • 文学
    • 哲学/宗教
    • 传记
    • 投资理财
    • 亲子家教
    • 动漫/幽默
    • 法律 Legal
    • 经济 Economics
    • 所有分类
  • 关于东东
  • 帮我找书
搜索
首页计算机/网络网络与数据通信Spring Cloud Alibaba大型微服务架构项目实战(上册)

Spring Cloud Alibaba大型微服务架构项目实战(上册)

十大组件精讲,洞悉微服务精髓。

作者:十三 出版社:电子工业出版社 出版时间:2024年01月 

ISBN: 9787121468728
年中特卖用“SALE15”折扣卷全场书籍85折!可与三本88折,六本78折的优惠叠加计算!全球包邮!
trust badge

EUR €63.99

类别: 计算机/网络 新书热卖榜, 网络与数据通信 SKU:65b3231df0f2241c90765fe3 库存: 有现货
  • 描述
  • 评论( 0 )

描述

开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121468728

编辑推荐

本书内容丰富,案例通俗易懂,几乎涵盖了目前Spring Cloud的全部热门组件,特别适合想要了解Spring Cloud热门组件及想搭建微服务系统的读者阅读。

读者学习本书的内容,会有以下收获。

  • Spring Cloud Alibaba 微服务技术组件的整合与使用。
  • 服务治理之服务注册与服务发现。
  • 服务间的通信方式。
  • 负载均衡器的原理与实践。
  • 微服务网关搭建与使用。
  • 分布式事务的处理。
  • 服务容错之限流及熔断。
  • 微服务间的链路追踪。
  • ELK日志中心的搭建与使用。
  • 针对各个知识点的实战源码和一套可执行的微服务项目源码

 

内容简介

本书分为14章。第1~4章主要介绍微服务的基本理论、Spring Cloud技术栈和配置基础开发环境的方法,以及如何构建Spring Cloud Alibaba模板项目;第5~13章从服务通信和服务治理两个重要的概念讲起,主要讲解如何使用Nacos、Sentinel、Seata、OpenFeign、Spring Cloud Gateway、Spring Cloud LoadBalancer、Spring Cloud Sleuth、Zipkin等微服务组件,介绍它们的原理和作用,以及如何搭建和整合这些组件并使用它们搭建微服务系统;第14章主要介绍使用这些微服务组件构建的一个大型微服务架构项目,包括它的主要功能模块、由单体模式到前后端分离模式再到微服务架构模式的开发历程、微服务项目改造前的拆分思路、微服务架构实战项目的启动等注意事项,这个实战项目详细的开发步骤会整理在本套书的下册中。

本书内容丰富,案例通俗易懂,几乎涵盖了目前Spring Cloud的全部热门组件,特别适合想要了解Spring Cloud热门组件及想搭建微服务系统的读者阅读。

作者简介

韩帅(十三)

畅销书作者、企业技术主管、CSDN博客专家、视频讲师。

毕业于安徽省巢湖学院,具有多年一线开发经验,历任高级开发工程师、产品线后端负责人、技术部门主管等职位。熟练使用Java、SQL、Spring Boot、Vue等计算机语言和开发框架,有非常丰富的开发经验,同时也是开源项目的爱好者和贡献者。

目  录

目录

第1章  千里之行:微服务架构学习路径与建议 1

1.1 微服务架构的学习路径 1

1.1.1 上手微服务架构项目会遇到哪些问题 2

1.1.2 梳理微服务架构 3

1.1.3 拆解微服务架构搭建的步骤 4

1.1.4 搭建并整合各个微服务组件 6

1.1.5 从零到一开发大型的微服务架构项目 6

1.2 章节规划 8

1.2.1 微服务架构的基础知识 8

1.2.2 微服务架构各组件的搭建与整合 8

1.2.3 微服务架构项目实战 9

1.3 学前必bei 10

1.4 学习建议 10

第2章  知己知彼:详解微服务架构的前世今生 12

2.1 什么是微服务架构 13

2.2 为什么要使用微服务架构 15

2.2.1 架构的演进 15

2.2.2 微服务架构并不是石头缝里蹦出的孙悟空 21

2.2.3 哪些原因导致系统架构往微服务架构的方向演进 22

2.3 微服务架构的优缺点 23

2.3.1 微服务架构的优点 24

2.3.2 微服务架构的缺点 26

2.4 架构的尽头是微服务吗 27

2.5 系统架构升级改造时一定会用到微服务吗 27

2.6 学习微服务架构有什么好处 29

2.7 微服务架构中的常用技术 29

第3章  八面玲珑:一站式解决方案——Spring Cloud技术栈 33

3.1 微服务架构中常用的技术及落地方案 33

3.2 Spring Cloud技术栈 35

3.3 Spring Cloud Netflix套件简介 37

3.4 Spring Cloud Alibaba套件简介 38

3.5 选择Spring Cloud Alibaba的原因 40

第4章  有备无患:项目运行所需的开发环境和基础模板代码 42

4.1 JDK的安装和配置 42

4.1.1 下载安装包 42

4.1.2 安装JDK 44

4.1.3 配置环境变量 45

4.1.4 JDK环境变量验证 46

4.2 Maven的安装和配置 47

4.2.1 下载安装包 47

4.2.2 安装并配置Maven 48

4.2.3 Maven环境变量验证 49

4.2.4 配置国内Maven镜像 49

4.3 开发工具IDEA的安装与配置 51

4.3.1 安装IDEA及其功能简介 52

4.3.2 配置IDEA的Maven环境 54

4.3.3 Lombok插件 55

4.4 Spring Boot简介 56

4.5 Spring Boot项目创建 57

4.5.1 认识Spring Initializr 57

4.5.2 使用Spring Initializr初始化一个Spring Boot项目 58

4.5.3 使用IDEA编辑器初始化Spring Boot项目 59

4.6 Spring Boot项目目录结构简介 60

4.7 启动Spring Boot项目 61

4.7.1 在IDEA编辑器中启动Spring Boot项目 61

4.7.2 Maven插件启动 63

4.7.3 java -jar命令启动 64

4.7.4 Spring Boot项目启动日志 65

4.8 开发第一个Spring Boot项目 66

4.9 构建Spring Cloud Alibaba模板项目 68

第5章  拉开帷幕:详解服务通信与服务治理 74

5.1 认识服务通信 74

5.1.1 为什么需要服务通信 74

5.1.2 服务通信简介 76

5.2 HTTP调用之编码实践 77

5.2.1 被调用端编码实现 79

5.2.2 使用HttpClient处理请求 81

5.2.3 使用RestTemplate处理请求 83

5.2.4 使用WebClient处理请求 85

5.3 为什么需要服务治理 87

5.4 服务注册和服务发现 90

5.4.1 服务注册简介 90

5.4.2 服务发现简介 91

5.5 健康检查机制 92

第6章  好戏开场:服务管理、注册中心、配置中心——Nacos 94

6.1 Nacos简介 94

6.2 Nacos下载与启动 96

6.2.1 下载Nacos 96

6.2.2 启动Nacos 97

6.3 修改Nacos持久化配置 100

6.4 Nacos整合之服务注册编码实践 104

6.4.1 编写服务代码 104

6.4.2 在配置文件中添加Nacos配置参数 107

6.4.3 服务注册功能验证 109

6.4.4 Nacos服务注册源码解析 112

6.5 Nacos整合之服务发现编码实践 119

6.5.1 编写服务消费端的代码 119

6.5.2 将服务注册至Nacos 121

6.5.3 编写服务通信代码 122

6.5.4 服务发现的源码分析 125

6.6 配置中心介绍 140

6.6.1  编码中常用的配置方式分析 140

6.6.2 为什么需要配置中心 142

6.6.3 什么是配置中心 143

6.6.4 配置中心具备哪些功能 144

6.6.5 配置中心的优点 145

6.6.6 配置中心在微服务架构中的作用 146

6.7 整合Nacos配置中心编码实践 147

6.7.1 创建基础工程 147

6.7.2 集成Nacos配置中心 151

6.7.3 Data ID详解 155

6.7.4 整合Nacos配置中心功能验证 156

6.8 集成Nacos实现配置动态刷新 158

6.8.1 实现业务开关 159

6.8.2 配置动态刷新功能的好处及应用场景 162

6.9 多配置文件读取 163

6.9.1 extension-configs配置项简介 163

6.9.2 在配置中心创建多个配置文件 164

6.9.3 在代码中增加多配置读取的配置及功能验证 165

第7章  百里挑一:Spring Cloud LoadBalancer负载均衡器 167

7.1 认识负载均衡 167

7.2 Spring Cloud LoadBalancer简介 168

7.3 负载均衡器的功能演示 169

7.4 Spring Cloud LoadBalancer自动配置源码分析 172

7.5 引入负载均衡器后发起请求的源码分析 177

7.5.1 RestTemplate中没有拦截器时是怎样工作的 177

7.5.2 被定制化后的RestTemplate对象是怎样进入拦截器逻辑的 179

7.5.3 拦截器中处理请求的流程 180

7.6 内置负载均衡器的源码分析 182

7.7 自定义负载均衡算法 184

7.8 服务通信和服务治理知识总结 187

7.9 multi-service-demo模板项目创建 189

第8章  云中锦书:OpenFeign远程调用实践 195

8.1 OpenFeign简介 195

8.2 编码集成OpenFeign 196

8.3 OpenFeign参数传递编码实践 201

8.3.1 简单类型处理 202

8.3.2 简单对象类型处理 206

8.3.3 复杂对象类型处理 209

8.3.4 通用结果类Result 214

第9章  一夫当关:微服务网关——Spring Cloud Gateway 217

9.1 微服务网关介绍 217

9.1.1 认识微服务网关 217

9.1.2 网关层的主流技术选型 219

9.1.3 选择Spring Cloud Gateway的原因 222

9.2 整合Spring Cloud Gateway编码实践 224

9.2.1 编码整合Spring Cloud Gateway 224

9.2.2 将网关服务整合到服务中心 227

9.2.3 整合Spring Cloud Gateway报错503的问题解决方法 230

9.3 微服务网关Spring Cloud Gateway之Predicate 231

9.3.1 Spring Cloud Gateway内置断言工厂 231

9.3.2 自定义断言编码实践 235

9.4 微服务网关Spring Cloud Gateway之Filter 239

9.4.1 Spring Cloud Gateway的内置过滤器 240

9.4.2 自定义网关过滤器 244

第10章  登高望远:分布式事务解决方案——Seata 251

10.1 分布式事务详解 251

10.1.1 数据库事务简介 251

10.1.2 分布式事务的问题演示编码 257

10.1.3 分布式事务问题演示 271

10.2 分布式事务解决方案概览 273

10.2.1 分布式事务产生的原因 273

10.2.2 分布式事务的解决方案 275

10.2.3 Alibaba Seata简介 277

10.3 安装Seata 278

10.3.1 下载Seata Server安装包 278

10.3.2 Seata Server的持久化配置 278

10.4 Seata Server整合Nacos服务中心 282

10.4.1 配置Nacos的连接信息 283

10.4.2 启动Seata Server 283

10.5 整合Seata解决分布式事务编码实践 285

10.5.1 创建undo_log表 285

10.5.2 整合Seata解决分布式事务 287

10.6 Seata整合后的基础检验 290

10.6.1 服务注册验证 290

10.6.2 数据源代理验证 291

10.6.3 服务实例与Seata Server的通信验证 292

10.7 Seata中间件的重要概念 293

10.8 验证分布式事务问题及日志分析 295

10.9 Seata(AT模式)分布式事务的处理流程 302

第11章  防患未然:服务容错解决方案——Sentinel 305

11.1 服务容错详解 305

11.1.1 为什么要引入服务容错组件 305

11.1.2 服务容错落地方案:流量控制与降级熔断 307

11.2 Sentinel简介及控制台安装 310

11.2.1 阿里的流量防卫兵——Sentinel 310

11.2.2 下载与启动Sentinel控制台 312

11.3 整合Sentinel客户端编码实践 314

11.4 Sentinel中的基本概念 317

11.4.1 资源 317

11.4.2 规则 318

11.5 限流策略和流控效果 319

11.5.1 限流策略之直接流控 319

11.5.2 限流策略之关联流控 321

11.5.3 限流策略之链路流控 322

11.5.4 流控效果之快速失败 323

11.5.5 流控效果之Warm Up 323

11.5.6 流控效果之排队等待 325

11.5.7 规则配置及限流效果展示 326

11.6 熔断策略配置实践 329

11.6.1 熔断策略简介 330

11.6.2 异常熔断的基础编码 331

11.6.3 熔断策略配置及效果演示 333

11.7 内外结合:降级熔断 流量控制 337

第12章  顺藤摸瓜:链路追踪解决方案——Spring Cloud Sleuth Zipkin 339

12.1 服务链路追踪及技术选型 339

12.1.1 什么是链路追踪 339

12.1.2 Spring Cloud Sleuth简介 340

12.2 整合Spring Cloud Sleuth编码实践 342

12.2.1 基于Spring Cloud Sleuth的链路追踪实现思路 342

12.2.2 代码基础改造 343

12.2.3 整合Spring Cloud Sleuth编码 346

12.3 搭建Zipkin Server实现链路追踪的可视化管理 350

12.3.1 搭建Zipkin Server的详细过程 350

12.3.2 整合Zipkin Client编码实践 352

12.3.3 链路追踪效果演示 353

第13章  运筹帷幄:Elastic Search Logstash Kibana日志中心搭建 357

13.1 ELK——日志收集、分析和展示的解决方案 357

13.1.1 认识ELK 357

13.1.2 ELK的工作流程 358

13.1.3 ELK的优势 359

13.1.4 ELK增强版 359

13.2 搭建ELK日志中心详细过程 361

13.2.1 日志环境搭建准备 361

13.2.2 搭建ELK日志中心 364

13.3 Spring Boot项目将日志输出至ELK编码实践 370

13.4 Kibana配置索引模板和索引模式 373

13.4.1 配置索引模板 374

13.4.2 配置索引模式 375

13.4.3 通过Kibana查询日志 377

13.5 微服务架构项目实战将日志输出至ELK编码实践 379

13.5.1 微服务架构项目中的日志输出配置 379

13.5.2 通过Kibana查询日志 382

第14章  一战定乾坤:大型微服务架构项目设计与实战 387

14.1 微服务实战项目详解 387

14.1.1 实战项目简介 387

14.1.2 新蜂商城项目的开源历程 388

14.1.3 新蜂商城项目的功能及数据库设计 390

14.2 由单体版到微服务架构版的拆分思路 392

14.3 微服务架构实战项目源码获取和项目启动 393

14.3.1 基础环境准备及微服务组件安装和配置 394

14.3.2 下载微服务架构实战项目的项目源码 394

14.3.3 微服务架构实战项目的目录结构 395

14.3.4 启动并验证微服务实例 399

14.4 微服务架构实战项目的功能演示 408

14.4.1 商城用户的注册与登录功能演示 408

14.4.2 把商品添加至购物车的功能演示 411

14.4.3 下单流程演示 415

14.4.4 后台管理系统的部分功能演示 419

14.5 微服务架构实战项目开发过程 424

14.6 微服务架构实战项目中接口的参数处理及统一结果响应 425

14.7 微服务架构实战项目打包和部署的注意事项 427

前  言

大家好,我是十三。

非常感谢你们阅读本书,在技术道路上,我们从此不再独行。

写作背景

2017年2月24日,笔者正式开启技术写作之路,同时也开始在GitHub网站上做开源项目,由于一直坚持更新文章和开源项目,慢慢地被越来越多的人所熟悉。2018年6月7日,电子工业出版社的陈林编辑通过邮件联系笔者并邀请笔者出书。从此,笔者与电子工业出版社结缘。2018年笔者也被不同的平台邀请制作付费专栏课程。自2018年9月起,笔者陆陆续续在CSDN图文课、实验楼、蓝桥云课、掘金小册、极客时间等平台上线了多个付费专栏和课程。2020年,笔者与电子工业出版社的陈林编辑联系并沟通了写作事宜,之后签订了约稿合同,第一本书在2021年正式出版。

笔者写作的初衷是希望把自己对技术的理解及实战项目开发的经验分享给读者。过去几年的经历可以整理成一张图(如图1所示),免费文章→付费专栏→付费视频→实体图书,从0到1,从无到有,都是一步一步走过来的。这些也是笔者的写作背景。

同时,笔者也会将付费专栏和图书中用到的实战项目开源到GitHub和Gitee两个开源代码平台上,本书中基于Spring Cloud Alibaba的微服务实战项目newbee-mall-cloud是笔者开发的一个开源项目。

图1  笔者的写作经历

随着越来越完善的微服务技术栈的发布,以及越来越多的微服务项目实际的落地和上线,使用Java技术栈的企业应该都在尝试或已经让各自的微服务项目落地了。通过招聘网站的信息和每次面试的反馈,Java开发人员也能够清晰地认识到:微服务技术已经逐渐成为Java开发人员必须掌握的一个进阶知识点了。

作为技术人员,各位读者一定对微服务架构有所耳闻,也能够看出它会是未来的一种流行架构,进而也非常希望自己能够掌握微服务技术体系,甚至动手实践完成微服务项目的开发与维护,掌握微服务技术这项非常宝贵的技能。不过,在掌握这项技能时,可能会遇到如下几个问题:

  • 微服务技术的体系复杂,从何学起?学习哪些知识点?有没有简洁而有效的学习路径?
  • 微服务架构中的组件和中间件很多,如何选择一套合适且可落地的方案?
  • 在进行微服务架构的项目搭建与开发时,会遇到哪些问题?这些问题又该如何解决?
  • 想要自己动手开发一个大型微服务项目,有没有适合的源码?有没有可以借鉴的经验?

针对这些问题,笔者结合自己的开发经验和一个可操作的大型微服务实战项目,从复杂的微服务体系中梳理一条明确而有效的学习路径,让读者可以成体系地学习微服务架构,本书的知识点规划和学习路径如图2所示。

以上就是笔者为各位开发人员整理的微服务架构项目的学习路径和实战步骤:梳理微服务架构、拆解微服务架构搭建的步骤、搭建并整合各个微服务组件、开发一个大型的微服务项目。

图2  本书的知识点规划和学习路径

笔者首先对概念性的知识进行介绍,让读者了解微服务的“前世今生”。然后介绍微服务的技术选型,包括技术栈的介绍与对比,并确定实战项目所选择的微服务技术组件。接着对这些技术组件进行讲解,包括组件的作用、搭建和优化。书中对Nacos、Spring Cloud Gateway、Sentinel、Seata等组件进行搭建和实际的整合,完成微服务架构实战里中间件搭建和整合的工作。除基本的整合外,也对重点技术栈的源码进行了详细的剖析,让读者能够知其然也知其所以然。搭建并整合完各个中间件之后,就是各个服务的编码和功能实现,在本套书的下册中会对一个大型的商城项目进行拆解和微服务化,并从零到一落地一个功能完整、流程完善的微服务项目。本书内容由浅入深,帮助读者深入理解微服务技术,掌握微服务项目开发的核心知识点,并且能够应用到自己所开发的项目中。

你会学到什么

本书的代码基于Spring Boot 2.6.3版本和Spring Cloud Alibaba 2021.0.1.0版本。笔者通过14章的内容由浅入深,逐一击破微服务架构项目中的难点,让各位读者能够实际地体验微服务架构项目的搭建和开发。另外,本书从书稿整理完成至正式出版耗时近一年时间,在这段时间里,Spring Boot和Spring Cloud Alibaba及相关技术栈也有一些版本升级,如Spring Boot 3.x、Spring Cloud Alibaba 2022.x。对于这些情况,笔者会在本书实战项目的开源仓库中创建不同的代码分支,保持实战项目的源码更新,保证读者学习更新的知识。

读者学习本书的内容,会有以下收获。

  • Spring Cloud Alibaba 微服务技术组件的整合与使用。
  • 服务治理之服务注册与服务发现。
  • 服务间的通信方式。
  • 负载均衡器的原理与实践。
  • 微服务网关搭建与使用。
  • 分布式事务的处理。
  • 服务容错之限流及熔断。
  • 微服务间的链路追踪。
  • ELK日志中心的搭建与使用。
  • 针对各个知识点的实战源码和一套可执行的微服务项目源码

适宜人群

  • 从事Java Web开发的技术人员。
  • 希望进阶高级开发的后端开发人员。
  • 对微服务架构感兴趣、想要了解Spring Cloud热门组件的开发人员。
  • 希望将微服务架构及相关技术实际运用到项目中的开发人员。
  • 想要独立完成一个微服务架构项目的开发人员。

源代码

本书每个实战章节都有对应的源码并提供下载,读者可以在本书封底扫码获取。

最终的实战项目是笔者的开源项目newbee-mall-cloud,源码在开源网站GitHub和Gitee上都能搜索并下载最新的源码。

  • https://github.com/newbee-ltd/newbee-mall-cloud
  • https://gitee.com/newbee-ltd/newbee-mall-cloud

致谢

感谢电子工业出版社的陈林老师、石悦老师、美术编辑李玲和其他老师,本书能够顺利出版离不开你们的奉献,感谢你们辛苦、严谨的工作。

感谢newbee-mall系列开源仓库的各位用户及笔者专栏文章的所有读者。他们提供了非常多的修改和优化意见,使这个微服务实战项目变得更加完善,也为笔者提供了持续写作的动力。

感谢掘金社区的运营负责人优弧和运营人员Captain。本书部分内容是基于掘金小册《Spring Cloud Alibaba大型微服务项目实战》中的章节来扩展的,本书能顺利出版也得到了掘金社区的大力支持。

特别感谢家人,没有他们的默默付出和大力的支持,笔者不可能有如此多的时间和精力专注于本书的写作。

感谢每一位没有提及名字,但是曾经帮助过笔者的贵人。

书摘插画
插图

插图

插图

插图

插图

插图

插图

插图

插图

插图

插图

抢先评论了 “Spring Cloud Alibaba大型微服务架构项目实战(上册)” 取消回复

评论

还没有评论。

相关产品

加入购物车

互联网+医疗健康——迈向5P医学时代

EUR €41.99
加入购物车

手把手教你设计CPU——RISC-V处理器篇

EUR €58.99
加入购物车

计算机网络(第5版)

EUR €53.99
评分 5.00 / 5
加入购物车

亿级流量网站架构核心技术——跟开涛学搭建高可用高并发系统

EUR €58.99
评分 3.50 / 5

东东购的宗旨是服务喜爱阅读中文书籍的海外人民,提供一个完善的购书平台,让国人不论何时何地都能沉浸在书香之中,读着熟悉的中文字,回忆着家乡的味道。


安全加密结账 安心网络购物 支持Paypal付款

常见问题

  • 货物配送
  • 退换货政策
  • 隐私政策
  • 联盟营销

客户服务

  • 联系东东
  • 关于东东
  • 帮我找书
  • 货物追踪
  • 会员登入

订阅最新的优惠讯息和书籍资讯

选择币别

EUR
USD
CAD
AUD
NZD
NOK
GBP
CHF
SEK
CNY
UAH
ILS
SAR
MXN
KRW
MYR
SGD
HUF
TRY
JPY
HKD
TWD
facebookinstagram
©2020 东东购 EasternEast.com

限时特卖:用“SALE15”优惠券全场书籍85折!可与三本88折,六本78折的优惠叠加计算。 忽略