SpringCloud开发实战,李兴华原创编程图书
  DzeAR5woCouH 2023年11月15日 30 0

SpringCloud是当今Java开发行业最为流行的分布式开发架构,使用其可以方便的搭建高可用、高性能、分布式的系统服务架构,本课程基于SpringCloudAlibaba的套件进行了实现架构的完整讲解。


本书一共有10章的核心内容,基于IDEA开发工具讲解,并通过Linux系统实现服务的部署,全篇课程的核心技术架构组成为:Gradle + RESTful + Nacos2.x + Ribbon + Feign + Sentinel + SpringCloudGateway + JWT + SpringBootAdmin + RocketMQ + SpringCloudStream + SpringCloudConfig + Seata + SkyWalking + Sentry,除此之外还包含了与面试有关的组件以及核心实现源代码的讲解。


本书附有配套视频、源代码、习题、教学课件等资源。为了帮助读者更好地学习本书,作者还提供了在线答疑。

本书适合作为高等教育本、专科院校计算机相关专业的教材,也可供广大计算机编程爱好者自学使用。

SpringCloud开发实战,李兴华原创编程图书_限流

从编写此书的那一天开始,不知不觉又已经过了匆匆数月,我不太确定人生还剩下多少个“数月”的空闲时光,只是想用尽我的努力为读者带来我认为最好的原创图书。

 

这本《SpringCloud就业编程实战》的图书是上一本《SpringBoot就业编程实战》一书的内容延续,而两本图书之中也有很多概念上的交集,如图0-1所示,所以在学习本书之前读者一定要对SpringBoot有完整且正确的理解。

 

SpringCloud开发实战,李兴华原创编程图书_java_02

图0-1 SpringBoot与SpringCloud


这本图书“李兴华高薪就业训练营”课程内容的进一步深入,是读者在Java架构学习领域的关键一本图书,也是与实际工作最贴近的一项开发技术,所以在编写此书时,我不仅仅是在编写SpringCloud一个简单的知识体系,而是在想办法通过更多的图形和更多的设计实例帮助大家深刻的理解当前应用中可能存在的各种形式,同时分析了每一项技术到底对整个的微服务设计带来何种帮助。


本书采用了案例驱动式的教学模型进行编写,而为了简化理解难度,我们降低了微服务的业务逻辑复杂度,基于最简单的CRUD数据操作的形式实现了RESTful设计原型搭建,并在此原型基础之上不断的进行实现设计的缺陷分析,以及更多应用组件的引入,最重要的是,这本书采用了大学中那种“实验指导”的方式编写,读者只需要按照步骤进行开发,就可以实现服务的开发,所以这本图书学习完成之后你收获的就是一个完整的微服务技术应用体系,而这样的写作形式也是我自己独创的方式,目的也只是帮助大家更好的理解一门技术。


在2017年的时候我曾经写过一本《Spring微服务架构》,而当时那本图书中写的是SpringCloudNetflix技术架构,而该架构随着时间的推移也必然不再被广泛采用,所以本书编写的是SpringCloudAlibaba的全部套件,这样就把我们的技术选型全部局限在了阿里系的范畴之中,而我们在书中也是为读者尽可能的阐述了每项技术的使用,核心原理以及核心代码的解释。除此之外我们还更多的考虑到了大家的学习与面试需要,所以对于SpringCloudNetflix的遗留的部分内容进行了分析以及实现改造,这些大家都可以在本书的学习中有所发现。


说了这么多图书的介绍,其实我真的也很想回顾一下在写作过程中的一些“痛苦经历”,实际上在本书开始编写时我就已经预料到了会有三个难关比较浪费时间,分别是:新版的Nacos、Sentinel防护以及RocketMQ,主要是因为本书编写时正好赶上了新版Nacos的推出,所以为了简化概念和排查bug浪费了比较多的时间,而在编写Sentinel操作时源代码的分析难度较高(需要绘制大量的图形)以及章节顺序的安排,而RocketMQ最麻烦的就是架构图的绘制了,当这三个难关被我一一写完后,我也就知道这本图书即将完成,于是赶紧发了个抖音短视频,把这个好消息告诉给大家。曾经有一段时间我一直在思考,为什么这么多的培训讲师都只是简单的讲个课,而不是去把知识有效的整理成书,后来一位编辑跟我说,写书要比讲课复杂的太多太多了。


如果读者拿到这本图书的时候相信感受到的最大的一点不同就在于本书绘制了大量图形,主要是因为我个人经过了近20年的教学后发现,如果要想让一位学生以最快的速度理解技术,仅仅依靠单纯的文字是很难做到的,为了简化大家学习道路上的难度,我们尽量对每一个概念采用图形化的方式描述,而这一张张图形耗费了我个人大量的精力,我简单的算了下,平均每张图形的绘制时间要10 ~ 20分钟,更复杂的一张图甚至要绘制30分钟以上的时间,我们真的是为了大家能看懂这本书已经尽了自己最大的努力,但是即便这样我们仍然想到了读者可能无法理解透彻的问题,所以我们又为每一个知识的讲解配备了全面的视频教学,相信拥有此类“豪华配置”的技术图书应该也算是国内首套了吧。


本书的全部案例设计和视频讲解全部来自于我们沐言科技的原创内容,采用递进的方式编写,一共分为三大核心部分以及10个核心章节,这些章节的主要内容如下:

第01章、SpringCloud简介:SpringCloud本质上是微服务的集群管理,而微服务背后所实现的是业务拆分的逻辑,在本章中重点为读者分析了业务中心的作用以及开发技术的演进过程,同时分析了SpringCloud两种实现架构的区别;

第02章、SpringCloud编程起步;SpringCloud是在SpringBoot基础之上的概念升级,所以要想理解SpringCloud就必须搭建RESTful应用架构,在这一章中通过了MyBatis/MyBatisPlus以及Druid实现了部门微服务的搭建,并且分析了RestTemplate模版类的作用以及服务消费处理操作的实现;

第03章、Nacos注册中心;在SpringCloudAlibaba体系中首先排除掉了已经不再更新的Eureka注册中心,转而提供了性能更高的Nacos注册中心,本章将直接基于Nacos 2.x实现了服务搭建、NacosClient原生开发以及微服务注册管理;

第04章、SpringCloud集群服务:为了提供可靠的服务就需要进行服务集群的搭建,在这一章中将模拟微服务集群的创建(RESTful集群、Nacos集群),同时分析了Nacos 2.x集群设计的改进与具体实现,而后在这一集群架构的基础之上,又进行了Ribbon负载均衡的、Feign转换技术以及Hystrix限流技术的讲解,通过这一章读者就可以清楚的掌握集群设计原理与具体实现,为后续的学习提供了最为核心的理论支持;

第05章、Sentinel:高并发访问下的服务安全如何保障?难道仅仅是要一味的增加服务节点吗?而带着这一系列的技术设计问题,我们将全面的讲解Sentinel限流组件,这也是大家常见的淘宝双十一流量保护组件,当你读懂了本章内容之后,就会开始逐步的理解亿级开发架构的设计思想与具体实施方案;

第06章、SpringCloudGateway:Netty是在Java架构设计中被广泛使用的开发框架,在SpringCloud开发技术中,由于原始的Zuul出现了严重的性能瓶颈以及闭源风波,所以才有了原生的SpringCloudGateway网关技术,在本章的讲解中为读者详细分析了网关的主要作用,同时基于源代码分析的方式详细讲解了网关技术实现特点,并将其与Nacos整合,实现了动态网关应用的开发,而这些都是当前的主流应用模型,也是求职者面试过程中必问到的技术项;

第07章、微服务安全与监控:完善的微服务必然要存在有合理的认证与授权机制,所以在本章中我们继续引用之前在SpringBoot一书中所学习到的JWT技术实现微服务操作管理,同时为了实现微服务的有效监控,我们又引入了SpringBootAdmin的组件,利用Actuator实现了服务监控管理;

第08章、RocketMQ:高吞吐量的微服务技术必然要使用消息组件,在阿里系中最为重要的就是RocketMQ消息组件,在本章中为读者详细分析了当前主流的消息组件的技术特点与执行性能,同时又为读者详细的讲解了RocketMQ消息服务的部署、实现架构、服务集群以及应用开发的操作;

第09章、微服务辅助技术:SpringCloud的内部提供了更高一级的消息组件整合服务 —— SpringCloudStream,而在本章中将针对于RocketMQ消息组件实现了该服务的讲解,而为了更加合理的实现配置管理,本章又为读者详细的讲解了SpringCloudConfig原生技术实现方案以及基于Nacos配置更新的实现方案;

第10章、服务跟踪:本章是一个微服务技术的完善章节,同时也是微服务应用中必不可少的技术环节,在已有的微服务基础上增加了运维监控的技术管理,以实例的形式讲解了Zipkin、SkyWalking以及Sentry的应用整合。



从我们整个的编程教学体系上来讲,本书是读者跨进架构师开发领域的最重要一环,但是要想全面的掌握当前软件应用架构,读者们还需要很长的一段路要走,读者可以参考图0-2所示的课程体系,而当你搜索各个招聘网站后再比较我们的学习体系会发现在技术面试上已经绰绰有余了。我们希望通过自己的努力,可以陪您走完这一段最艰难的路,也希望分享您获得高薪后的喜悦之情。

 

SpringCloud开发实战,李兴华原创编程图书_java_03

图0-2 架构师学习体系


我们在2019年的时候创办了沐言科技,希望可以用我们自己的信仰打造出全新的教学理念,因为长期以来我发现仅仅依靠简单的技术教学是不能够让学生走上技术岗位,现在的技术招聘更多的是强调学生的自我学习能力,所以我们也秉持着帮助学生自学提升技术的方式进行图书的编写。


图书目录:

 

第01章、SpringCloud简介 1

1.1、业务中心 1

1.1.1、RPC技术 2

1.1.2、EJB技术 3

1.1.3、WebService 4

1.2、RESTful架构 6

1.2.1、SpringCloudNetflix架构 8

1.2.2、SpringCloudAlibaba架构 11

1.3、本章概览 12


第02章、SpringCloud编程起步 1

2.1、RESTful应用开发 1

2.1.1、搭建SpringCloud项目 3

2.1.2、REST公共模块 7

2.1.3、微服务提供者 10

2.1.4、Postman接口测试 16

2.1.5、微服务消费者 19

2.1.6、HTTP请求拦截 23

2.2、Swagger接口文档工具 24

2.2.1、REST接口描述 26

2.2.2、Swagger安全配置 28

2.3、本章概览 29


第03章、Nacos注册中心 1

3.1、Nacos服务搭建 1

3.1.1、Nacos技术架构 2

3.1.2、获取Nacos应用组件 4

3.2.3、Linux部署Nacos服务 6

3.2.4、Nacos整合MySQL存储 7

3.2、Nacos领域模型 9

3.2.1、配置数据管理 10

3.2.2、实例数据管理 13

3.2.3、REST访问配置 16

3.3、微服务注册 17

3.3.1、配置Nacos注册信息 20

3.3.2、Nacos安全注册 21

3.4、Nacos工作原理 23

3.4.1、NacosConfigBootstrapConfiguration 24

3.4.2、@EnableDiscoveryClient注解 25

3.4.3、NacosServiceRegistryAutoConfiguration 27

3.4.4、NacosDiscoveryAutoConfiguration 30

3.5、本章概览 31


第04章、SpringCloud集群服务 1

4.1、微服务集群 1

4.1.1、Nacos服务集群 2

4.1.2、Nacos控制台代理 4

4.1.3、gRPC注册服务代理 5

4.1.4、微服务集群注册 9

4.1.5、客户端服务访问 11

4.1.6、CP与AP模式切换 14

4.2、Ribbon负载均衡 16

4.2.1、ServerList实例列表 19

4.2.2、ILoadBalancer负载均衡器 22

4.2.3、ServerListUpdater服务列表更新 25

4.2.4、ServerListFilter实例过滤器 26

4.2.5、IPing存活检查 29

4.2.6、IRule负载均衡算法 30

4.2.7、Ribbon负载均衡策略 32

4.2.8、Ribbon执行分析 33

4.3、自定义Ribbon负载均衡算法 37

4.3.1、Nacos权重优先调度 37

4.3.2、Nacos集群优先调度 39

4.3.3、元数据优先调度 41

4.4、Feign接口转换 43

4.4.1、Feign转换日志 45

4.4.2、Feign连接池 46

4.4.3、数据压缩传输 48

4.5、Feign核心源码分析 49

4.5.1、FeignAutoConfiguration 51

4.5.2、FeignRibbonClientAutoConfiguration 53

4.5.3、FeignLoadBalancerAutoConfiguration 55

4.5.4、FeignClientsRegistrar 57

4.6、Hystrix熔断机制 60

4.6.1、Hystrix基本使用 62

4.6.1、Feign失败回退 63

4.6.2、HystrixDashboard 65

4.6.3、Turbine聚合监控 67

4.7、Hystrix源码分析 69

4.7.1、HystrixAutoConfiguration 72

4.7.2、HystrixCircuitBreakerAutoConfiguration 75

4.7.3、HystrixCircuitBreakerConfiguration 76

4.7.4、HystrixCircuitBreaker 77

4.7.5、AbstractCommand 79

4.8、本章概览 83


第5章、Sentinel 1

5.1、Sentinel服务搭建 1

5.1.1、Sentinel控制台 2

5.1.2、Sentinel资源监控 3

5.1.3、实时监控数据 5

5.2、Sentinel限流保护 7

5.2.1、自定义限流错误页 9

5.2.1、Fallback失败回退 10

5.2.3、BlockHandler 12

5.3、Sentinel限流规则 14

5.3.1、热点规则 14

5.3.2、授权规则 15

5.3.3、BlockExceptionHandler 17

5.3.4、集群流控 19

5.4、Sentinel实现分析 22

5.4.1、ResourceWrapper 24

5.4.2、ProcessorSlot 25

5.4.3、Node 26

5.4.4、Context 28

5.5、配置规则持久化 30

5.5.1、流控规则持久化 32

5.5.2、限流规则解析 35

5.5.3、SentinelDashboard改造 39

5.6、本章概览 42


第6章、SpringCloudGateway 1

6.1、SpringCloudGateway基本使用 1

6.1.1、SpringCloudGateway编程起步 2

6.1.2、消费端整合SpringCloudGateway 4

6.1.3、静态路由配置 5

6.2、RoutePredicateFactory 7

6.2.1、内置RoutePredicateFactory子类 8

6.2.2、扩展RoutePredicateFactory子类 11

6.3、GatewayFilterFactory 12

6.3.1、内置网关过滤工厂 14

6.3.2、自定义过滤工厂 16

6.4、全局过滤器 17

6.4.1、自定义全局过滤器 19

6.4.2、ForwardRoutingFilter 20

6.4.3、Netty全局路由 22

6.4.4、ReactiveLoadBalancerClientFilter 26

6.4.5、GatewayMetricsFilter 28

6.5、SpringCloudGateway工作原理 31

6.5.1、GatewayAutoConfiguration 32

6.5.2、RouteLocator 34

6.5.3、FilteringWebHandler 38

6.5.4、RoutePredicateHandlerMapping 40

6.6、动态路由 42

6.6.1、动态路由模型 43

6.6.2、动态路由配置持久化 46

6.7、本章概览 49


第7章、微服务安全与监控管理 1

7.1、SpringCloud认证管理 1

7.1.1、JWT工具模块 2

7.1.2、Token认证服务 9

7.1.3、JWT授权检测 17

7.1.4、网关认证过滤 22

7.1.5、消费端获取JWT 24

7.2、SpringBootAdmin 26

7.2.1、SpringBootAdmin安全配置 28

7.2.2、SpringBootAdmin客户端接入 29

7.2.3、微服务离线警报 30

7.3、本章小结 32


第8章、RocketMQ 1

8.1、RocketMQ安装与配置 1

8.1.1、RocketMQ服务搭建 3

8.1.2、ACL访问控制列表 6

8.1.3、RocketMQ控制台 7

8.1.4、RocketMQ管理命令 8

8.1.5、Benchmark压力测试 13

8.2、RocketMQ实现架构 14

8.2.1、Remoting通讯模块 17

8.2.2、消息结构 23

8.2.3、心跳检测 25

8.2.4、数据存储 32

8.2.5、数据刷盘 39

8.3、RocketMQ集群服务 44

8.3.1、NameServer集群 46

8.3.2、Broker集群 47

8.4、RocketmqClient程序开发 51

8.4.1、消息生产模式 53

8.4.2、消费模式 56

8.4.3、业务标签 57

8.4.4、消息识别码 60

8.4.5、Namespace 61

8.5、消息处理模式 61

8.5.1、消息广播 62

8.5.2、消息排序 63

8.5.3、延迟消息 65

8.5.4、消息过滤 66

8.5.5、消息批处理 68

8.5.6、日志消息处理 71

8.5.7、事务消息 74

8.7、本章概览 77


第9章、微服务辅助技术 1

9.1、SpringCloudStream 1

9.1.1、SCS消息生产者 3

9.1.2、SCS消息消费者 5

9.1.3、消费过滤 7

9.2、SpringCloudConfig 10

9.2.1、SpringCloudConfig服务端 12

9.2.2、SpringCloudConfig客户端 15

9.2.3、SpringCloudBus 17

9.2.4、SpringCloudConfig整合Nacos 19

9.3、Seata分布式事务组件 21

9.3.1、雇员微服务 22

9.3.2、Seata服务安装与配置 26

9.3.3、AT模式 30

9.3.4、TCC模式 33

9.3.5、Saga模式 39

9.4、本章概览 46


第10章、服务跟踪 1

10.1、SpringCloudSleuth 1

10.1.1、搭建Zipkin服务 2

10.1.2、微服务日志采集 3

10.1.3、Zipkin数据持久化 4

10.2、SkyWalking全链路跟踪 5

10.2.1、SkyWalking服务安装与配置 6

10.2.2、微服务接入 8

10.3、Sentry 10

10.3.1、Sentry服务接入 11

10.3.2、Sentry错误警报 12

10.4、本章概览 14


图书配套视频列表:

0101_【理解】业务中心 业务中心是项目设计开发的灵魂,从最初的MVC设计模式一直到现在的微服务设计架构,全部都是围绕着业务中心所展开的,在本课程中将会为读者详细的阐述业务中心的基本作用。


0102_【理解】RPC技术 良好的项目架构中业务中心是一个独立的运行单元,由于符合C/S网络架构,所以就需要有一个技术标准来实现调用,本课程为读者讲解了RPC技术的相关概念。


0103_【理解】EJB技术 EJB是由SUN推出的适合于Java搭建业务中心的核心技术,同时也是现代Java框架设计与开发理论的奠基者,本课程为读者分析了EJB技术的主要组成结构,并且分析了RMI与EJB技术的关联,以及EJB技术实现的缺陷。


0104_【理解】WebService 不同平台的整合需要公共的实现标准,XML的出现提供了通讯标准的统一,随之提出了WebService技术,本课程为读者讲解了WebService技术的主要特点以及缺陷。


0105_【掌握】RESTful架构 RESTful是一种更加轻量级的数据传输结构,可以直接基于HTTP协议完成分布式开发,利用RESTful架构实现的业务中心可以提供高效与简洁的运行环境,本课程为读者分析了RESTful架构的产生背景以及实现说明。


0106_【掌握】SpringCloudNetflix技术架构 SpringCloud早期主要基于Netflix组件实现了REST微服务的管理,在本课程中为读者讲解了SpringCloudNetflix架构的组成架构,并分析了各个主要组件的作用。


0107_【掌握】SpringCloudAlibaba技术架构 SpringCloudAlibaba是现在国内最为流行的SpringCloud解决方案,在本课程中为读者宏观的讲解了SpringCloudAlibaba的技术架构,并分析了其与Netflix技术的区别。


0201_【掌握】RESTful实现简介 RESTful是微服务实现的理论基础,在本次的课程中将为读者介绍本次要实现的服务端的功能,以及为完成本项目中所需要使用到的实现技术。


0202_【掌握】构建SpringCloud项目 SpringCloud的项目搭建将直接通过Gradle工具完成,在本课程中利用实际的操作演示,直接基于IDEA开发工具在基础的SpringBoot整合之上搭建了SpringCloud项目。


0203_【掌握】REST公共模块 SpringCloud项目属于RPC应用,这样就需要定义服务提供者与消费者之间所可能使用到的公共组件,在本次课程中为读者讲解了数据传输类的作用,并且基于Spring所提供的BeanUtils类进行了集合数据拷贝的功能扩展。


0204_【掌握】微服务提供者 微服务的提供者需要实现公共的业务接口,同时也需要对外隐藏接口的实现细节,在本次的课程中由于是围绕数据库展开的业务操作,所以基于MyBatisPlus组件实现了数据库的CRUD处理开发操作。


0205_【掌握】Postman接口测试 微服务创建完成后为了保证其对应的REST接口可以提供正确的服务,往往会进行接口的访问测试以及压力测试,而这些功能就可以通过Postman工具来实现,本课程为读者讲解了Postman的下载、安装以及基本使用。


0206_【掌握】微服务消费者 SpringCloud微服务需要通过SpringBoot来进行调用,本课程将创建一个消费端应用,并通过RestTemplate类所提供的方法实现远程服务调用。


0207_【掌握】HTTP请求拦截 在客户端使用Ribbon进行服务调用时,可以对服务的请求进行拦截处理,在本课程中为读者讲解了ClientHttpRequestInterceptor拦截接口的使用,并且通过实例分析了Ribbon拦截器的具体应用。


0208_【理解】Swagger接口描述 为了便于使用者进行微服务接口的调用,那么必然需要有详细且完善的接口说明文档,为了便于文档的开发与维护,Spring引入了Swagger项目,在本课程中为读者讲解了接口文档的作用,以及Swagger与SpringBoot的快速整合应用。


0209_【理解】REST接口描述 Swagger给出的接口描述文档可以由用户进行更加详细的设置,在本课程中将基于Swagger配置以Swagger注解在代码中实现接口的完整描述。


0210_【理解】Swagger安全配置 Swagger文档最终需要暴露给远程客户端,而为了保护文档的安全应该进行有效的安全认证管理,本课程结合SpringSecurity开发框架采用静态认证信息的方式实现了Swagger的安全保护。


0301_【掌握】注册中心简介 微服务的设计需要引入大量的服务节点,而为了便于这些节点的管理与维护就需要采用注册中心,本课程中为读者讲解了微服务模型管理中的问题以及注册中心的作用。


0302_【掌握】Nacos技术架构 Nacos是阿里巴巴推出的重要服务组件,在本课程中为读者讲解了Nacos的服务架构整体组成,同时分析了Nacos中实现CP机制的Distro以及RAFT算法作用。


0303_【掌握】获取Nacos应用组件 Nacos基于Maven开发,同时又是一个开源项目,这样就可以直接依据Nacos源代码进行服务编译,本课程通过实例演示了Nacos组件编译以及Windows下的组件使用。


0304_【掌握】Linux部署Nacos服务 为了保证注册中心的稳定运行,一般会将其部署在Linux系统之中,在本课程中将基于虚拟机实现Linux系统的运行以及Nacos服务的部署。


0305_【掌握】Nacos整合MySQL存储 Nacos依靠关系型数据库实现配置数据的存储与同步,在本课程中为读者讲解了Nacos与MySQL数据库的存储。


0306_【掌握】Nacos领域模型 Nacos为了便于注册与配置数据的管理,提出了完整的领域模型,在本课程中将为读者讲解Nacos领域模型中的各个组成,并分析了其设计的目的。


0307_【理解】配置数据管理 Nacos支持有配置数据的管理支持,可以利用Nacos所给出的原生API实现配置数据的发布、修改、删除以及监听的相关操作,在本课程中为读者讲解了如何基于Nacos客户端工具包实现Nacos配置项的管理。


0308_【理解】实例数据管理 Nacos提供了动态实例管理支持,这样可以及时的获取到每一个实例节点的状态,在本课程中将模拟集群节点的应用环境,实现多个节点实例的配置,并且通过具体的操作讲解Nacos节点配置监听的实现。


0309_【掌握】REST访问配置 为了便于更多的平台与Nacos整合,在Nacos中提供了REST接口,可以直接基于HTTP协议的形式实现Nacos数据操作,本课程结合了Nacos提供的官方文档手册,并通过具体的实例演示了常用接口的使用。


0310_【掌握】微服务注册 SpringCloud中的微服务需要向Nacos中进行统一的注册管理,本课程通过具体的操作修改了部门微服务并实现了Nacos服务的注册操作。


0311_【掌握】配置Nacos注册信息 Nacos为了规范化服务管理,提供了完整的领域模型,所以微服务的注册与发布也需要进行归类管理,本课程将对部门微服务进一步改造,实现注册数据的有效管理


0312_【掌握】Nacos安全注册 Nacos是整个微服务的核心组件,里面保存有重要的服务实例数据,所以必须保证安全的微服务注册,本课程讲解了Nacos安全配置启用以及微服务的安全注册。


0313_【理解】Nacos自动配置 Nacos与微服务的整合依赖于自动装配的实现机制,本课程通过nacos-discover依赖库介绍了与之相关的自动装配类的功能。


0314_【理解】NacosConfigBootstrapConfiguration Nacos客户端可以通过ConfigService接口实现Nacos领域模型的操作,而此接口对象的实例创建是由spring-cloud-starter-alibaba-nacos-config依赖所提供的自动配置类实现的,本课程为读者分析了NacosConfigBootstrapConfiguration配置类的源代码实现。


0315_【理解】@EnableDiscoveryClient注解 服务与注册中心的整合需要通过@EnableDiscoveryClient注解完成,在本课程中为读者分析了该注解的组成结构,并且根据其组成结构分析了导入处理类的实现机制。


0316_【理解】NacosServiceRegistryAutoConfiguration SpringCloud为了便于服务的注册管理,提供了统一的处理标准,在本课程中将通过Nacos提供的NacosServiceRegistryAutoConfiguration类的源代码分析服务注册流程。


0317_【理解】NacosDiscoveryAutoConfiguration Nacos服务除了注册支持之外还包含有发现处理,所以在SpringCloud项目时就提供了NacosDiscoveryAutoConfiguration发现自动配置类,本课程通过源代码为读者分析了NacosDiscoveryAutoConfiguration类的实现结构,并讲解了NacosServiceDiscovery工具类中所提供的服务发现方法的作用。


0401_【掌握】微服务集群简介 为了提高服务的处理性能,生产环境中会大量采用集群设计,在本课程中为读者分析了微服务集群设计的意义,同时讲解了本次要搭建的服务集群架构。


0402_【掌握】Nacos服务集群 Nacos内部直接提供了服务集群的配置支持,在本课程中将通过虚拟机创建三个Nacos服务节点,并通过Nacos配置实现了三个节点的集群关联。


0403_【掌握】Nacos集群代理 Nacos提供的集群节点,而所有的节点需要一个统一的地址才可以对外提供集群服务,在本课程中将通过Nginx实现Nacos集群代理配置。


0404_【掌握】gRPC注册服务代理 为便于服务注册与消费发现处理,可以对gRPC的代理进行统一管理,在本课程中为读者讲解了如何基于HAProxy代理组件实现Nacos节点访问配置。


0405_【掌握】微服务集群注册 注册中心集群处理后就可以保存更多的微服务注册信息,本课程将基于已有的部门微服务进行改造,并实现了微服务集群的注册。


0406_【掌握】客户端服务访问 Nacos除了实现了微服务数据的管理之外,也提供有客户端的服务发现管理支持,这样就可以通过服务的信息配置找到相关的服务节点进行调用,在本课程之中将实现消费端的服务注册以及服务调用处理。


0407_【掌握】CP与AP模式切换 Nacos集群提供了数据一致性的同步管理,在本课程中为读者分析了Nacos对于CAP原则的实现,同时分析了CP与AP实现算法,并对与之相关的源代码进行了分析。


0408_【掌握】Ribbon服务调用 为了进一步解决消费端的服务调用问题,在实际的项目开发中,可以基于Ribbon组件简化客户端的调用难度,在本课程中为读者介绍了Ribbon的主要作用,并且通过具体的操作实现了Ribbon组件的快速应用。


0409_【理解】ServerList实例列表 消费端通过Ribbon实现的微服务调用中需要及时进行Nacos数据更新,所以提供了ServerList内容保存接口,本课程为读者分析了ServerList接口的主要使用,同时基于NacosServerList类的源代码进行了Nacos服务数据获取分析。


0410_【理解】ILoadBalancer负载均衡器 在进行微服务集群构建后,通过Ribbon可以获取到全部的服务实例数据,那么此时就需要通过一定的算法进行调度,这样就可以避免某一个节点服务量过大的问题出现,在本课程中为读者分析了Ribbon负载均衡器的接口标准,同时讲解了内部负载均衡器的实现与配置。


0411_【理解】ServerListUpdater服务列表更新 为了进行有效的微服务实例数据维护,在Ribbon提供了服务列表更新接口,在本课程中将为读者分析ServerListUpdater接口的使用,以及服务更新的操作监听处理。


0412_【理解】ServerListFilter实例过滤器 服务列表数据可以进行有效过滤处理,这样可以基于一些特定的条件实现实例的优先调用,本课程为读者实例讲解了ServerListFilter接口的使用,并通过源码分析了可用区选用阈值以及可用区切换原理。


0413_【掌握】IPing存活检查 为了便于节点存活状态的检查,在Ribbon中提供了IPing接口,本课程为读者分析了IPing接口的主要组成结构,同时通过源代码方式分析了Ping操作的伪实现意义。


0414_【掌握】IRule负载均衡算法 Ribbon可以帮助用户隐藏注册中心的实例发现处理,同时又提供有一系列的负载均衡算法,帮助用户更合理的实现微服务集群调用,在本课程中将为读者讲解Ribbon所提供的负载均衡策略以及策略的使用配置。


0415_【掌握】Ribbon负载均衡策略 Ribbon通过其自身完善的负载均衡策略可以实现高效的微服务调用管理,在本课程中为读者讲解了完整的Ribbon负载均衡策略配置实现。


0416_【理解】Ribbon执行分析 Ribbon是基于Starter组件的形式自动装配到系统之中的,在本课程中将为读者分析Ribbon配置加载,并结合ILoadBalancer、ServerList、IRule等及核心处理逻辑分析了Ribbon源代码中的启动流程。


0417_【理解】Nacos权重优先调用 在基于Nacos服务实例注册时,提供了权重的配置支持,可以基于权重实现不同实例优先级的调用,在本课程中为读者讲解了微服务权重的作用以及具体实现。


0418_【理解】Nacos集群优先调度 在Nacos领域模型中可以基于集群实现不同机房服务节点的管理,这样也可以基于集群名称实现消费端优先调用,本课程为读者分析了集群调用的意义,并通过代码进行了该负载均衡算法的实现。


0419_【理解】元数据优先调度 微服务的消费端可能会有多种,而为了便于微服务的版本维护,可以基于元数据的方式进行调度配置,在本课程中为读者讲解了版本优先调度的意义,并通过自定义的负载均衡算法实现了同一版本微服务的优先调度实现。


0420_【掌握】Feign接口转换 为了便于微服务的调用管理,在SpringCloud套件中提供了Feign组件,利用此组件可以实现远程REST接口与Java接口的映射访问,本课程通过一个完整的实例为读者讲解了Feign组件的基本使用以及服务调用操作。


0421_【掌握】Feign转换日志 Feign在进行转换时实际上依然采用了HTTP请求与响应处理机制,而为了便于使用者观察,在Feign组件提供了日志的支持,本课程为读者讲解了如何配置Feign组件的转换类,并分析了日志的组成结构。


0422_【掌握】Feign连接池 Feign在进行服务通讯时,基于HTTP协议完成,而为了得到最佳的处理性能,需要在项目中进行服务的配置,本课程为读者讲解了Feign的相关配置以及实现意义。


0423_【理解】数据压缩传输 为了可以高效的实现数据的传输处理,在Feign组件中提供了数据压缩的处理支持,本课程为读者讲解了如何在Feign组件中实现HTTP数据压缩传输。


0424_【理解】Feign工作原理 Feign组件为了便于接口映射管理,提供了一系列的处理步骤,本课程为读者讲解了Feign组件的工作原理,并且通过源代码分析了原生feign组件的构建,并且浅析了在SpringCloud组件中Feign组件的构建管理。


0425_【理解】FeignAutoConfiguration 本程序通过Starter组件的执行流程分析了FeignAutoConfiguration配置类的组成,并依据组成分析了Feign中的动态代理生成机制以及HTTP客户端的使用选择。


0426_【理解】FeignRibbonClientAutoConfiguration Feign工作在消费端,所以在设计时充分的利用了Ribbon处理机制实现服务端负载均衡策略,本课程为读者分析了FeignRibbonClientAutoConfiguration配置类的源代码结构,以及与Ribbon标准之间的关联。


0427_【了解】FeignLoadBalancerAutoConfiguration Feign组件内置了负载均衡器,同时在该负载均衡器中又需要提供稳定的服务调用,在本课程中为读者分析了FeignLoadBalancerAutoConfiguration自动装配类,同时分析了BlockingLoadBalancerClient阻塞负载均衡器的作用。


0428_【理解】FeignClientsRegistrar 在使用Feign组件时需要通过“@EnableFeignClients”和“@FeignClient”两个注解进行标记,而在Feign内部会自动进行扫描包的配置与Bean注册,在本课程中为读者分析了FeignClientsRegistrar类源代码的实现。


0429_【了解】Hystrix熔断机制 Hystrix是由Netflix提供的微服务熔断处理机制,在本课程中为读者分析了微服务调用链出现的雪崩效应,同时为读者讲解了Hystrix基本概念。


0430_【了解】Hystrix基本使用 为了便于SpringCloud的整合处理,专门提供了Hystrix服务整合组件,在本课程中通过具体的实例代码代码讲解了Hystrix中的失败处理支持。


0431_【了解】Feign失败回退 在进行服务调用时,都会通过Feign进行远程接口映射,所以在Feign中对Hystrix也有所支持,可以直接通过失败回退工厂类进行服务降级处理,本课程通过实例讲解了如何基于FeignClient实现失败回退处理。


0432_【了解】HystrixDashboard Hystrix除了提供了熔断机制外,还提供有Hystrix监控面板支持,在本课程中讲解了Hystrix微服务的开启以及服务面板应用的创建。


0433_【了解】Turbine聚合监控 为了进行微服务的监控统一管理,在SpringCloud中提供了Turbine组件,本课程为读者讲解了统一监控的意义,并讲解了Turbine的配置以及服务监控数据获取。


0434_【了解】Hystrix工作流程 Hystrix所有的操作都被封装在了HystrixCommand对象实例之中,如果要想清楚Hystri处理远离,就需要通过HystrixCommand类的源代码进行观察,在本课程中通过HystrixCommand类的继承结构以及核心方法分析了Hystrix的工作流程。


0435_【了解】HystrixAutoConfiguration Hystrix提供了自动装配处理,而在Hystrix整合时需要进行HystrixCommand切面配置以及度量配置,本课程通过HystrixAutoConfiguration类源代码以及对应的关联结构,进行了HystrixCommand流程分析。


0436_【了解】HystrixCircuitBreakerAutoConfiguration Hystrix中的断路器的启用是需要结合特定的阈值配置处理,而所有相关的属性配置是由HystrixCircuitBreakerAutoConfiguration类实现的,本课程为读者分析了断路器的自动配置类的作用。


0437_【了解】HystrixCircuitBreakerConfiguration HystrixCircuitBreakerConfiguration实现了与Hystrix断路器处理有关的Bean注册操作,本课程通过源代码为读者分析了此配置器的主要作用,同时分析了Hystrix中线程池与断路器之间的配置关联。


0438_【了解】HystrixCircuitBreaker 断路器的最终实现操作是由HystrixCircuitBreaker接口定义的,在本课程中通过断路器的源代码为读者分析了断路器的具体实现逻辑。


0439_【了解】AbstractCommand 为了保证资源调度稳定性,在Hystrix中提供了资源隔离机制,本课程基于此概念为读者分析了AbstractCommand类的核心源代码。


0501_【理解】Sentinel简介 SpringCloudAlibaba提供了良好的服务流控管理支持,在本课程中为读者讲解了访问流控的作用,并介绍了Sentinel组件的功能。


0502_【掌握】Sentinel控制台 Sentinel是一个开源组件可以直接通过GITHUB进行获取,本课程为读者讲解了Sentinel组件的下载、组件启动以及控制台使用。


0503_【掌握】Sentinel资源资源监控 项目中的微服务如果需要通过Sentinel进行限流保护,则需要引入相关依赖并进行配置实现,在本课程中通过具体的操作实例,为读者讲解了微服务的改造配置,并基于AOP切面实现了Sentinel流量数据的获取以及限流保护控制。


0504_【理解】实时监控数据 Sentinel为了其它平台的整合处理,提供了若干个REST数据接口,开发者可以直接通过该接口获取到Sentinel中流量数据、日志数据,本课程为读者介绍了这些数据接口的名称以及接口作用。


0505_【掌握】Sentinel限流保护 Sentinel进行微服务资源保护时,提供了多种限流规则,在本课程中为读者分析了基础限流规则的使用,并通过具体的操作演示了服务限流以及内置Fallback执行。


0506_【理解】自定义限流错误页 客户端请求一旦触发了Sentinel资源保护规则后都会进行错误信息的显示,开发者可以根据需要自定义错误信息,在本课程中将基于application.yml配置实现统一拦截错误的显示以及拦截路径的配置。


0507_【理解】Fallback失败回退 Sentinel在与SpringCloud整合时提供了默认的Fallback处理支持,但是考虑到定制化的开发要求,开发者也可以通过@SentinelResource注解实现自定义Fallback操作,本课程通过具体的实例讲解了自定义资源Fallback开发实现。


0508_【理解】BlockHandler 为了便于失败回退的统一管理,在Sentinel中提供了BlockHandler支持,本课程为读者讲解了BlockHandler操作的实现结构,并实现了与控制层方法的关联配置。


0509_【理解】热点规则 热点限流是一种Sentinel独有的限流机制,可以直接对接口方法中指定参数的访问进行限流处理,本课程为读者实例讲解了热点限流操作的实现以及相关配置类的定义。


0510_【掌握】授权规则 黑白名单是进行资源保护的重要组成形式,为此在Sentinel中提供了与之相关的授权规则,本课程为读者讲解了授权规则的设置并分析了RequestOriginParser接口的作用。


0511_【掌握】BlockExceptionHandler Sentinel针对于所有可能出现的限流处理都定义了专属的异常类型,并且提供了统一的BlockExceptionHandler处理接口,本课程通过实例讲解了异常统一处理的实现,并基于异常产生熔断机制验证了此规则的使用。


0512_【掌握】集群流控 集群是微服务保持运行高效与稳定的重要架构,在Sentinel设计中也充分的考虑到了集群应用环境,本课程为读者讲解了集群限流的实现机制,并通过具体的TokenServer搭建与配置实例分析了微服务集群管理的实现。


0513_【理解】Sentinel实现分析 Sentinel采用了注解与切面的形式实现了访问资源的流控统计,而在Sentinel中为了实现所有组件的方便接入提供了Entry类型,本课程为读者分析了Entry类型的主要作用,并基于Sentinel提供的Demo代码讲解了Entry与限流操作之间的关联。


0514_【理解】ResourceWrapper Sentinel是根据资源实现的保护规则配置,在本课程中为读者分析了Sentinel资源名称的获取以及Entry与ResourceWrapper之间的关联操作。


0515_【理解】ProcessorSlot Sentinel基于插槽与插槽链的结构实现了数据统计以及限流处理,在本课程中将通过SlorChainBuilder分析Sentinel的处理流程。


0516_【理解】Node Node是Sentinel实现数据统计的标准,并且会与Contexnt、Entry整合在一起应用,本课程为读者分析了Node接口的继承结构以及数据统计子类的使用。


0517_【理解】Context Context维护了整个调用链的元数据内容,是Entry创建与使用过程中必不可少的一个结构概念,本课程为读者讲解了Context概念,并分析了其对应的核心源代码。


0518_【理解】Sentinel规则持久化 Sentinel为了便于资源的维护提供了资源持久化的处理方案,在本课程中为读者分析了默认Sentinel内存配置所带来的问题,并介绍了Sentinel中的数据持久化实现方案。


0519_【掌握】流控规则持久化 流控规则是Sentinel最核心也是最为常用的一种保护机制,而为了服务限流管理的便利,需要对其进行持久化配置,本课程将基于一个独立的Nacos服务实现流控规则的配置以及读取处理。


0520_【掌握】限流规则解析 Sentinel支持有多种限流规则配置,而如果要想获取全部限流规则的JSON配置,则就必须进行源代码的解析处理,本课程通过源代码的组成结构,为读者分析了全部限流规则持久化配置项的定义结构。


0521_【理解】SentinelDashboard改造 Sentinel源代码中提供了持久化限流规则可视化的配置支持,在本课程中会通过实例的形式为读者演示开启持久化流控配置的实现。


0601_【掌握】SpringCloudGateway简介 为了更好的进行微服务的管理,同时便于用户的访问,在SpringCloud中提供了网关技术,本课程为读者讲解了SpringCloudGateway在微服务管理中的主要作用,并且分析了Zull与SpringCloudGateway的区别。


0602_【掌握】SpringCloudGateway编程起步 SpringCloudGateway基于WebFlux架构开发,可以提供更高效的服务处理性能,本课程为读者讲解了网关在微服务技术中的应用架构,同时基于SpringCloudGateway的基本配置实现了部门微服务的网关代理访问操作。


0603_【理解】消费端整合SpringCloudGateway 微服务架构中需要提供有SpringBoot消费端处理,本课程基于已有的Feign组件进行修改了,实现了网关调用与服务映射路径的配置。


0604_【掌握】静态路由配置 SpringCloudGateway中的路由除了自动根据微服务的名称进行匹配之外,还可以在application.yml中进行静态配置,本课程为读者讲解了单一资源的路由以及集群资源的路由访问配置。


0605_【掌握】RoutePredicateFactory简介 RoutePredicateFactory(又被称为路由谓词工厂)是在网关中实现服务代理转发的重要前提条件,本课程通过宏观的概念为读者分析了内置断言提供的配置模式,并且基于类结构的形式总结了路由谓词工厂的功能。


0606_【掌握】内置RoutePredicateFactory子类 在SpringCloudGateway项目中可以直接使用已有的内置路由谓词工厂类实现网关访问的执行判断,本课程通过实例为读者演示了内置路由谓词工厂类的使用。


0607_【理解】扩展RoutePredicateFactory子类 项目开发中存在有各类的特殊需要,所以对于网关的访问也有特殊的要求,为了便于用户功能的扩展,可以自定义RoutePredicateFactory子类,本课程通过一个时间点访问的应用讲解了自定义路由谓词工厂类的程序实现。


0608_【掌握】网关过滤简介 为了便于网关进行自动的请求或响应处理,在网关中提供了过滤工厂的概念,本课程通过实例为读者简要说明了过滤工厂的作用并通过一个简单的配置讲解了具体使用。


0609_【掌握】内置网关过滤工厂类 SpringCloudGateway内置了许多的过滤工厂类,在本课程中为读者分析了过滤工厂类的继承结构,并介绍了常用的内置过滤工厂类以及使用实例。


0610_【掌握】自定义过滤工厂 SpringCloudGateway支持用户自定义过滤工厂的配置实现,本次课程为读者讲解了自定义过滤工厂类实现的基本结构,并通过实例开发了一个日志记录的网关过滤器。


0611_【掌握】全局过滤器简介 全局过滤器是SpringCloudGateway中的重要组成结构,本课程为读者分析了全局过滤器的作用,同时基于Actuator为读者列举了全部内置的全局过滤器的名称,并简要的分析了其继承结构以及核心过滤器的作用。


0612_【掌握】自定义全局过滤器 SpringCloudGateway中根据全局过滤器实现请求转发的相关处理操作,本课程通过实例自定义了两个全局过滤器,并通过Order注解实现了过滤器实现顺序的配置。


0613_【掌握】ForwardRoutingFilter ForwardRoutingFitler是网关内部提供的一个内部的路由转发全局过滤器,本课程为读者分析了该过滤器的源代码结构,并且通过实例讲解了网关内的路由转发。


0614_【掌握】Netty全局路由 SpringCloudGateway可以直接实现实现指定资源的路由转发处理,而这一转发的操作是基于Netty实现的(NettyRoutingFilter与NettyWriteResponseFilter),本课程为读者分析了这两个内置全局过滤器的使用。


0615_【掌握】ReactiveLoadBalancerClientFilter SpringCloudGateway为了提高服务的处理性能,提供了Reactive响应式编程处理支持,本课程为读者分析了默认负载均衡转发的实现子类,并且基于依赖库以及yml配置开启了ReactiveLoadBalancerClientFilter全局过滤器操作。


0616_【掌握】GatewayMetricsFilter SpringCloudGateway内部提供了网关服务度量监控数据,本课程为读者展示了监控接口的开启,并且基于Prometheus与Grafana实现了数据采集与可视化监控显示。


0617_【理解】SpringCloudGateway自动装配类 SpringCloudGateway基于Starter自动装配模式进行服务处理,在本课程中为读者分析了网关请求代理的完整流程,并基于依赖库中的spring.factories介绍了装配类的作用。


0618_【理解】GatewayAutoConfiguration GatewayAutoConfiguration是网关服务配置的核心实现类,在本课程中通过源代码分析了该类的关联结构,并讲解了其与路由谓词工厂、网关过滤工厂之间的关联。


0619_【理解】RouteLocator 网关中需要保存大量的路由信息地址,而所有路由信息的获取可以通过RouteLocator接口完成,本课程分析了RouteLocator接口的继承结构,并通过启动类的源代码分析了这三个子类内部的关联。


0620_【理解】FilteringWebHandler 过滤器是网关进行请求和响应处理的关键一步,在本课程中通过网关自动配置类分析了FilteringWebHandler类的作用与过滤链的形成逻辑。


0621_【理解】RoutePredicateHandlerMapping 网关可以通过application.yml进行路由访问配置,而路由访问的断言匹配处理操作是由RoutePredicateHandlerMapping类实现的,本课程分析了该类的源代码实现。


0622_【掌握】动态路由简介 网关是微服务项目架构实现的核心技术,而网关的稳定运行将影响到整个微服务架构的状态,本课程为读者分析了静态网关实现的问题,并分析了动态网关配置实现。


0623_【掌握】动态路由模型 动态路由需要进行配置写入与更新事件发布,在本课程中将通过一个统一的路由操作类进行动态路由的增加、修改以及删除操作的实现。


0624_【掌握】动态路由简介 Nacos是SpringCloudAlibaba实现的核心所在,除了可以承担起服务注册与发现支持之外,还提供了配置数据的管理功能,在本课程中将继续使用Nacos实现网关配置数据持久化管理操作以实现配置的初始化加载与更新加载的实现。


0701_【了解】SpringCloud认证管理简介 为了有效的进行服务资源的保护,所以就需要进行统一的认证处理,本课程为读者分析了SpringCloud中的认证处理模式以及各自的特点。


0702_【掌握】JWT工具模块 由于在整个微服务架构中的各个服务节点都会使用到JWT进行处理,为了便于代码的统一管理,本次将创建一个公共的开发模块,并提供JWT的配置与数据处理支持。


0703_【掌握】Token认证服务 JWT是整个的微服务架构安全的核心所在,所以需要搭建统一的Token服务器,本课程为读者分析了Token服务器的作用,并通过具体的实例讲解了Token的创建。


0704_【掌握】JWT授权检测 考虑到安全性问题,微服务的资源提供者需要进行有效的授权检测,这样就可以有效的进行微服务管理,本课程将对已有的微服务进行改造,并对JWT公共模块进行了修改,基于注解与过滤器的形式实现了微服务资源的授权保护。


0705_【掌握】网关认证过滤 网关是微服务资源的整合关键,所以在进行资源代理转发前都必须进行有效的JWT认证,本课程将通过具体的实例对已有的网关应用进行修改,利用全局过滤器的形式实现了JWT数据结构的校验处理。


0706_【掌握】消费端获取JWT 微服务资源最终是通过消费端应用进行调用的,这样在进行资源调度时就必须进行Token数据的获取与传递,本课程将通过实例讲解如何通过CommandLineRunner进行Token获取,并利用Feign拦截器实现了Token数据的头信息传递操作。


0707_【掌握】SpringBootAdmin服务端 良好的微服务需要有效的监控管理,Spring官方提供了SpringBootAdmin管理工具,即可通过Actuator实现服务监控,本课程通过实例讲解了服务监控功能的启用。


0708_【掌握】SpringBootAdmin安全配置 监控服务可以获取全部微服务节点数据,这样就必须进行有效的安全保护,在本课程中会将SpringSecurity与SpringBootAdmin进行结合,实现了用户认证管理。


0709_【掌握】SpringBootAdmin客户端接入 SpringBootAdmin中的监控数据需要由各个微服务通过Actuator进行发送,这样就需要进行监控节点的整合,本课程对已有的微服务架构进行了修改,实现了控制台的服务状态监控以及统计信息的展示。


0710_【掌握】微服务离线警告 完善的服务运行离不开警报信息的配置,在SpringCloud集群架构中会存在有大量的微服务节点,如果某一个服务节点出现问题则应该立即通知管理员,这样就可以通过SpringBootAdmin提供的邮件整合服务进行警报信息的发送


0801_【掌握】RocketMQ简介 消息组件是在系统开发中较为常见的服务应用,本课程为读者宏观的讲解了消息组件 的主要作用,同时分析了常见的几款消息组件的特点与实际应用场景。


0802_【掌握】RocketMQ服务搭建 官方推荐在Linux系统中进行RocketMQ服务部署,在本课程中将为读者讲解RocketMQ的组件获取、服务安装与启动的相关实例操作。


0803_【掌握】ACL访问控制列表 消息组件在实际项目中需要实现对外进行服务整合的需要,这样一来为了保证服务的安全就必须进行认证与授权管理,本课程通过实例为读者讲解ACL开启以及配置。


0804_【理解】RocketMQ控制台 有服务必有监控已经成为了当代软件项目设计的核心宗旨,虽然RocketMQ本身提供了强大的消息服务支持,但是为了保证其运行的稳定则需要通过RocketMQExternals开源项目实现监控支持,本课程讲解了GITHUB的扩展程序的下载以及服务配置。


0805_【理解】RocketMQ管理命令 RocketMQ提供了mqadmin命令,利用该命令可以直接管理当前消息系统之中的主题、生产者与消费者,本课程通过实例为读者讲解了这一命令的使用。


0806_【理解】Benchmark压力测试 为了可以准确的得到RocketMQ节点所能够承受的并发访问量,可以通过Benchmark提供的工具进行压力测试,本课程通过实例为读者讲解了Beanchmark所提供的相关压力测试工具的使用。


0807_【掌握】RocketMQ核心概念 不同的消息组件有各自不同的处理架构,本课程为读者讲解了RocketMQ之中所涉及到的架构概念,并解释了核心模块的主要作用。


0808_【理解】Remoting通讯模块 RocketMQ消息组件中需要基于长连接的模式与NameServer或Broker实现通讯,而这些通讯机制的实现都是基于Netty完成的,本课程为通过对RocketMQ项目中的remoting子模块的源代码,分析了Netty通讯的核心处理机制。


0809_【理解】消息结构 消息是RocketMQ之中主要的数据传输内容,在本课程中为读者讲解了消息协议的组成结构,并通过消息的类源代码进行了消息的组成内容以及继承结构。


0810_【理解】心跳检查 RocketMQ中除了核心的消息内容之外,还需要定时进行心跳数据的发送,以实现心跳检查,本课程通过RocketMQ的源代码分析了心跳机制中的发送与检查实现。


0811_【掌握】数据存储 RocketMQ中需要对消息数据进行存储,本课程为读者分析了Broker中数据存储目录的作用,同时分析了CommitLog与Queue之间的消费处理流程。


0812_【掌握】数据刷盘 数据刷盘是RocketMQ提供的重要存储性能优化的实现,在本课程中为读者讲解了数据刷盘的两种处理形式,同时分析了PageCache的作用以及核心源码解析。


0813_【掌握】RocketMQ集群服务概述 稳定与高效是消息组件最重要的处理保障,RocketMQ可以基于集群服务的方式实现多Broker的节点配置,本课程为读者分析了Broker集群的四种实现方式,同时给出了本次RocketMQ集群服务搭建所需要的服务主机信息。


0814_【掌握】NameServer集群 NameServer提供了所有服务的映射数据项存储,是RocketMQ中最为重要的服务组件,本课程将通过虚拟机实现NameServer集群搭建。


0815_【掌握】Broker集群 Broker是最终实现消息处理的核心单元,在本次课程中将通过九台服务器实现三组Broker分片集群,并通过具体的配置步骤实现了服务的搭建以及控制台改造。


0816_【掌握】RocketMQClient基本使用 RocketMQ应用服务搭建完成之后,在实际生产环境下,需要通过程序来实现生产端与消费端,本课程通过Apache官方给出rocketmq相关依赖实现了消息服务的调用。


0817_【掌握】消息生产模式 RocketMQ中提供了三种不同的消息生产模式,在本课程中将为读者详细的解释这三种生产模式的特点以及具体实现。


0818_【掌握】消费模式 RocketMQ的消费端提供有两种消费模式,在本课程中将为读者讲解这两种消费模式的工作原理以及具体的代码实现。


0819_【掌握】业务标签 为了可以实现更加详细的子业务消息的处理逻辑,可以基于消息主题实现进一步的划分,所以在RocketMQ中提供了Tag的概念,本课程为读者详细解释了RocketMQ中Topic、Group、Tag彼此之间的关联,并且通过实例演示了Tag的使用。


0820_【掌握】消息识别码 为进一步实现业务消息的标记,在RocketMQ中提供了KEYS识别码的功能,本课程为读者分析了KEYS识别码的作用以及具体应用。


0821_【理解】Namespace Namespace是一种基于命名空间实现消息分类管理的操作机制,本课程为读者讲解了NameSpace的作用,以及如何通过代码实现生产者与消费者的Namespace定义。


0822_【掌握】消息广播  消息广播可以使不同的消费者收取到相同的消息数据,在本课程中将通过具体的应用实例为读者讲解消息广播与分组之间的关联。


0823_【掌握】消息排序 RocketMQ中的消息生产与消费都依赖于消息队列(MessageQueue),为了实现消息的顺序处理,在RocketMQ中提供了顺序消费的支持,在本课程中将通过具体的实例分析为读者讲解MessageQueueSelector与MessageListenerOrderly接口使用。


0824_【掌握】延迟消息 为了实现合理的业务与消息之间的关联,在RocketMQ中支持了延迟消息的功能,本课程为读者讲解了延迟消息设计的存在的意义,同时通过具体的实例讲解了延迟消息的开发以及Broker相关的配置项作用。


0825_【掌握】消息过滤 在RocketMQ中可以通过tag实现不同子业务的消息逻辑处理,而除了此机制外还提供了更加灵活的SQL92消息过滤,本课程为读者分析了SQL92标准过滤的作用,同时讲解了MessageSelector实现SQL92过滤的程序实现。


0826_【掌握】消息批处理 面对大规模消息量生产的应用环境,为了提高传输效率可以通过批量消息的方式进行处理,本课程为读者分析了批量消息的设计意义,并通过具体代码进行了操作实现。


0827_【掌握】日志消息处理 虽然RocketMQ没有提供像Kafka那样卓越的日志采集性能,但是在一些日志量较小的环境下,也可以与已有的日志组件整合,实现日志采集的功能,本课程通过具体的实例讲解了Logback日志的采集处理。


0828_【掌握】事务消息简介 RocketMQ提供了事务消息处理的机制,而这机制可以有效的解决分布式状态下的事务处理问题,本课程为读者分析了分布式事务的实现意义,并通过具体的操作演示了事务消息的执行与回调检查。


0901_【理解】SpringCloudStream简介 SpringCloudStream是一种事件驱动型的设计框架,可以轻松的以标准的结构实现微服务业务的整合处理,本课程从传统的消息组件操作问题分析,讲解了消息驱动型微服务框架的主要作用,并分析了其核心的组成架构。


0902_【理解】SCS消息生产者 SpringCloudStream提供了统一的生产者消息处理规范,在本课程中将为读者讲解了基于RocketMQ的SCS生产端服务配置,并通过具体的代码实现了消息发送处理。


0903_【理解】SCS消息消费者 SpringCloudStream消息消费者依然采用监听的形式实现消息数据的接收,在本课程中将基于RocketMQ实现消费端的配置与消息接收。


0904_【理解】消费过滤 虽然SpringCloudStream采用了更加标准的方式实现了消息驱动的通信模型,但是不同的消息组件有其自身的消息分类,在本课程中将对已有的代码进行改造,使其可以同时多个不同的消费通道,并实现不同消息的过滤。


0905_【了解】SpringCloudConfig简介 SpringCloudConfig提供了一种动态配置的解决方案,本课程为读者分析了这种动态配置处理的主要作用,并基于GitLab实现了服务仓库的构建。


0906_【了解】SpringCloudConfig服务端 SpringCloudConfig服务端需要与GITLab或GITHub实现连接,这样才可以实现配置抓取,本课程通过具体的实现操作,讲解了配置服务器的搭建以及SSH连接配置。


0907_【了解】SpringCloudConfig客户端 配置服务端的提供是为了便于实现GITLab仓库中的配置抓取,在本次课程中将创建一个配置客户端微服务,并通过微服务名称实现配置项的抓取。


0908_【了解】SpringCloudBus 使用SpringCloudConfig的核心目的在于可以动态的实现配置项的加载,而这一功能就需要基于SpringCloudBus并结合消息组件的模式完成,本课程在已有的RocketMQ服务的基础之上实现了配置的动态刷新操作。


0909_【掌握】SpringCloudConfig整合Nacos SpringCloudAlibaba针对于SpringCloudConfig提供了更加简化的处理机制,在本课程中将为读者分析传统的SpringCloudConfig存在的缺陷,并且通过具体的代码实现了基于Nacos的配置动态管理操作。


0910_【掌握】Seata分布式事务简介 分布式的业务中心如果要实现统一的事务调度,则必须基于二阶段提交的模式来完成,在本课程中为读者分析了分布式事务与微服务之间的关联,同时通过具体的案例分析了Seata业务层分布式事务处理的特点、实现流程以及实现分类。


0911_【掌握】雇员微服务 如果要想实现完整的分布式事务处理,则必须启用新的微服务提供者,在本课程中将依据已有的部门业务模型,搭建雇员微服务以构成分布式事务实现场景。


0912_【掌握】Seata服务安装与配置 Seata是公布在Github上的一套完整开源项目,本次将通过github为读者演示组件的获取操作,并且依据实例演示了Seata的配置,以及与Nacos的集成。


0913_【掌握】AT模式 Seata提供了AT模式实现了与传统XA模式的对接,在本课程中将为读者分析AT模式的操作特点,并且通过完成的代码实现了AT模式下的分布式事务管理。


0914_【掌握】TCC模式 TCC模式是AT模式的手工化实现,可以获得较高的处理性能,本课程为读者分析了TCC模式的实现流程,并通过具体的代码实现了TCC分布式事务。


0915_【理解】Saga模式 Saga是一种跨平台的解决方案,可以很好的解决异构系统的分布式事务处理问题,在本章将为读者讲解Saga的主要作用、Saga状态机设计器的服务构建、并结合Seata模拟实现分布式事务的处理。


1001_【了解】SpringCloudSleuth简介 SpringCloudSleuth是SpringCloud内置的链路跟踪解决方案,本课程为读者分析了链路跟踪的设计意义,并且通过实例讲解了SpringCloudSleuth的基本使用。


1002_【了解】搭建Zipkin服务 Zipkin是由Twtter公布的开源项目,同时在GITHub中也提供了项目源代码,本课程通过具体的操作实例为读者讲解了Zipkin的项目打包与服务部署操作。


1003_【了解】微服务日志采集 Zipkin作为数据采集服务,开启后就需要由不同的微服务进行日志数据的发送,在本课程中将对已有的微服务进行修改,使其实现与zipkin服务对接操作。


1004_【了解】Zipkin数据持久化 Zipkin的内部为了便于持久化存储提供了MySQL的解决方案,本课程将对已有的zipkin采集服务进行修改,使其可以实现基于MySQL链路数据存储支持。


1005_【理解】Skywalking简介 SkyWalking是当前项目开发中使用最多的全链路跟踪组件,本课程中为读者介绍了zipkin所带来的问题,同时介绍了SkyWalking组件的使用特点。


1006_【理解】SkyWalking服务安装与配置 SkyWalking官方站点提供了完整的工具组件包,本课程将为读者讲解组件的获取,同时讲解了Skywalking与ElasticSearch存储的整合配置。


1007_【理解】微服务接入 SkyWalking为了实现无侵入的接入模式,提供了探针的接入策略,本课程在已有的SKyWalking应用的基础之上实现了链路数据的发送以及可视化显示处理。


1008_【了解】Sentry服务简介 为了进行及时的错误排查,就需要对微服务中的异常进行记录,所以在项目开发中开发者可以基于Sentry实现错误统计,本课程为读者讲解了Sentry的主要作用。


1009_【了解】Sentry服务接入 Sentry的数据主要来自于项目应用,本课程将对之前的SpringCloud项目应用进行改造,使其可以将错误数据发送到Sentry应用之中。


1010_【了解】Sentry错误警报 为了可以及时的进行错误处理,在Sentry还提供了预警机制的配置,本课程为读者演示了Sentry预警机制的配置与触发操作。


SpringCloud开发实战,李兴华原创编程图书_java_04


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月15日 0

暂无评论

推荐阅读
  2Vtxr3XfwhHq   2024年05月17日   53   0   0 Java
  Tnh5bgG19sRf   2024年05月20日   109   0   0 Java
  8s1LUHPryisj   2024年05月17日   46   0   0 Java
  aRSRdgycpgWt   2024年05月17日   47   0   0 Java
DzeAR5woCouH