【云原生】Spring Cloud微服务学习路线汇总

Spring Cloud是什么?

简单来说Spring Cloud是一系列框架的组成集合。主要利用的我们现在主流应用的Spring Boot框架开发便利性、巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以利用Spring Boot的开发风格做到一键启动和部署。Spring Cloud没有重复制造轮子,将比较成熟、经得起实际考验的服务框架进行组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。

 Spring Cloud主要组成部分有哪些?

SpringCloud的子项目,大致可分成两类,一类是对现有成熟框架SpringBoot的封装和抽象,

第二类是开发了一部分分布式系统的基础设施的实现,如Spring Cloud Stream扮演的就是kafka, ActiveMQ这样的角色。对于我们想快速实践微服务的开发者来说,第一类子项目就已经足够使用,如:

Spring Cloud Netflix:是对Netflix开发的一套分布式服务框架的封装、包括服务的发现和注册,负载均衡、REST客户端、断路器、请求路由等。

Spring Cloud Config:将配置信息中央化保存, 配置Spring Cloud Bus可以实现动态修改配置文件

Spring Cloud Stream:分布式消息队列,是对Kafka, MQ的封装

Spring Cloud Security:对Spring Security的封装,并能配合Netflix使用

Spring Cloud Zookeeper:对Zookeeper的封装,使之能配置其它Spring Cloud的子项目使用

Spring Cloud Eureka 是 Spring Cloud Netflix 微服务套件中的一部分、它基于Netflix Eureka做了二次封装,主要负责完成微服务架构中的服务治理功能。

使用SpringClou的优劣势有哪些?

主要优势有:Spring Cloud来源于 Spring、质量、稳定性、持续性都可以得到保证。

项目的整体耦合度比较低、每一个都是单独的模块、不会影响其他功能业务模块的开发。

目前Spring Cloud的配置也比较简单、都是基于注解就能实现

每个服务都有对应的独立数据库以及公共的数据库等

服务可以进行动态扩容、当数据或访问量大的时候

微服务其实是一把双刃剑、有优势就会有劣势

主要的针对分布式部署以及调用的时候、每个模块都是单独部署运行的、在每个模块进行访问的时候都是使用轻量级的REST API接口的形式进行访问、访问的过程中会出现一些问题、比如网络问题、容错问题、跨域、调用关系等。

由于数据库是独立的、会面临分库分表、分布式事务的管理、对于事务的一致性必须要有解决方法

还有一个就是运维成本和部署测试的成本都会增加、工作量比较大

SpringCloud章节学习路线

1. 微服务是什么?它的优缺点有哪些?
2. Spring Cloud是什么?Spring Cloud版本介绍
3. Spring Cloud和Dubbo的区别及各自的优缺点
4. Spring Cloud开发环境的准备和Lombok安装步骤
5. Spring Boot简介
6. Spring Boot项目搭建步骤
7. Spring Boot Starter的介绍及使用
8. Spring Cloud Eureka是什么?
9. SpringCloud组件:搭建Eureka服务注册中心
10. 使用Eureka编写服务提供者
11. 使用Eureka编写服务消费者
12. Eureka注册中心开启密码认证
13. Spring Cloud使用Eureka集群搭建实现高可用服务注册中心
14. Eureka自我保护模式和InstanceID的配置
15. Eureka开发时快速移除失效服务
16. Eureka的REST API及API扩展
17. Spring Cloud Ribbon介绍及使用
18. Spring Cloud Ribbon结合RestTemplate实现负载均衡
19. Spring Cloud Ribbon负载均衡策略介绍
20. Spring Cloud Ribbon自定义负载均衡策略
21. Spring Cloud Ribbon配置详解
22. Spring Cloud使用Feign调用服务接口
23. Spring Cloud Feign的自定义配置及使用
24. Spring Cloud Hystrix介绍及使用
25. Spring Cloud Hystrix资源隔离策略
26. Spring Cloud Hystrix缓存与合并请求
27. Spring Cloud使用Hystrix实现容错处理
28. Spring Cloud Feign整合Hystrix实现容错处理
29. Spring Cloud Hystrix的实时监控功能
30. Spring Cloud使用Hystrix Dashboard查看监控数据
31. Spring Cloud使用Turbine实现集群监控
32. Spring Cloud Zuul网关的介绍及使用
33. Spring Cloud Zuul路由配置详解
34. Spring Cloud Zuul过滤器介绍及使用
35. Spring Cloud使用Zuul实现容错回退功能
36. 查看Zuul的路由端点和过滤器信息
37. Spring Cloud Zuul请求响应信息输出
38. Spring Cloud实现Zuul自带的Debug功能
39. Spring Cloud Gateway核心概念和工作原理
40. Spring Cloud Gateway整合Eureka路由转发
41. Spring Cloud Gateway的常用路由断言工厂
42. Spring Cloud Gateway过滤器工厂的使用
43. Spring Cloud Gateway全局过滤器
44. Spring Cloud Gateway实战(限流、熔断回退、跨域、统一异常处
45. Smconf(分布式配置管理框架)概述
46. Apollo(分布式配置中心)核心概念及核心功能介绍
47. Apollo本地部署详细步骤
48. Apollo Portal管理后台的使用
49. Apollo在Java中的使用
50. Apollo架构设计介绍
51. Apollo服务端设计原理
52. Apollo客户端设计原理
53. Apollo高可用设计分析
54. Spring Cloud使用Sleuth在应用中进行日志跟踪
55. Spring Cloud Sleuth与ELK配合使用
56. Spring Cloud整合Zipkin进行服务跟踪
57. JWT是什么?
58. Spring Cloud基于JWT创建统一的认证服务
59. 服务提供方进行调用认证
60. 服务消费方申请Token
61. Feign调用前统一申请Token传递到调用的服务中
62. RestTemplate调用前统一申请Token传递到调用的服务中
63. Zuul中传递Token到路由的服务中
64. Spring Boot Admin的介绍及使用
65. 使用Spring Security给Spring Boot Admin开启认证
66. Spring Boot Admin集成Eureka项目搭建
67. Spring Boot Admin监控告警服务
68. Swagger是什么?Swagger怎么用?
69. Swagger常用注解使用详解
70. Spring Cloud Eureka控制台快速查看Swagger文档
71. 使用Zuul聚合多个微服务的Swagger文档
72. 微服务架构下如何获取用户信息并认证?
73. Spring Cloud服务限流详解
74. 服务降级是什么?Spring Cloud如何实现?
75. 灰度发布的原理及实现
76. Guava Cache本地缓存介绍及使用
77. Spring Cloud集成Spring Data Redis
78. 防止缓存穿透方案
79. 防止缓存雪崩方案

最近项目需要使用Springcloud来做、刚好用到这块、目前只把章节列出来了、后续会陆续慢慢更新章节具体内容、大家一起学习进步、同时博主也再巩固下这块知识、路过的点赞收藏不过分吧

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/561733.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Oracle12C配置监听IP地址

根据自己的安装路径修改2个地方listener.ora和tnsnames.ora 我的路径在:E:\app\Administrator\product\12.2.0\dbhome_1\network\admin listener.ora文件 # listener.ora Network Configuration File: E:\app\Administrator\product\12.2.0\dbhome_1\NETWORK\ADMI…

强大的SQL计算利器-SPL

现代应用开发中,通常只用SQL实现简单的数据存取动作,而主要的计算过程和业务逻辑直接在应用程序中实现,主要原因在于: 过于复杂的SQL很难调试、编写、阅读、修改。SQL有方言特征,大量使用SQL后,会导致程序…

【毕业季·进击的技术er】大学生计算机毕业设计应该这样写

活动地址:毕业季进击的技术erhttps://marketing.csdn.net/p/f4a818f6455f3a9a7a20c89f60ad35f7 目录 扉页 摘要 目录 一 绪论 二、相关技术环境介绍 三、系统需求分析 四、系统架构设计 五、系统实现 六、系统测试 致谢 参考文献 以一个过来学长的角度来看…

【云原生】SpringCloud是什么?

SpringCloud是一个提供一些服务框架的服务治理平台。它包括:服务注册和发现、配置中心、消息中心、负载平衡、数据监控等。封装了微服务基础架构框架Netflix的多个开源组件,并与云平台和Spring boot框架集成。 SpringCloud也为开发人员提供了一个快速构…

Http请求:Google调用本地摄像头权限开启

项目场景: 最近在做一个考试培训系统!里面用到了监控摄像需要调用本地摄像头 解决方案: 打开谷歌浏览器,输入chrome://flags/回车: 在输入框输入unsafely-treat-insecure-origin-as-secure 选择enable 点击relaunch重…

快收藏!最适合计算机大学生的Java毕业设计项目--高校食堂点餐系统

博主介绍:✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,CSDN博客之星TOP100、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业设计✌ 🍅文末获取联系🍅 精彩专栏推荐👇&#…

MySql根据字段名查询重复记录并删除!只保留一条

最近在处理业务数据的时候!在几W条记录里存在着些相同的记录,如何用SQL语句,删除掉重复的呢? 可以用以下方法进行处理 其实很简单!就是查找表中多余的重复记录,重复记录是根据单个字段来查询、然后删除其他重复的记录即可 查询重复记录 SEL…

基于Java+Spring+mybatis+vue+element实现酒店管理系统

博主介绍:✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,CSDN博客之星TOP100、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业设计✌ 🍅文末获取联系🍅 精彩专栏推荐👇&#…

无语!Jenkins 也宣布弃用 Java 8

继Java 之父 James Gosling 先前称,开发者应尽快弃用 JDK 8,可以选择 JDK 17 LTS,因为后者在各个方面都带来了巨大的改进。 开源 Devops 工具 Jenkins 宣布:从 6 月 28 日发布的 Jenkins 2.357 和即将发布的 9 月 LTS 版本开始&am…

(2022最新)Java毕业设计参考题目-题目新颖(值得收藏)

前言介绍 博主介绍:✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星TOP100、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业设计项目实战✌ 🍅文末获取联系🍅 大四的同学马上要开…

Java实现二维码的生成和解析

最近因个人需求需要对根据内容生成二维码和进行解析!记录一下!二维码其实就是一种编码技术,只是这种编码技术是用在图片上了,将给定的一些文字,数字转换为一张经过特定编码的图片。这里利用的是 google 公司的 zxing使…

MYSQL求2个参数之间的正确率百分比

根据相应条件统计需要的count 查询总count数(totalCount) 计算百分比:count / totalCount * 100 表设计: CREATE TABLE topic_exercise (id bigint(11) NOT NULL,topic_id bigint(11) NOT NULL COMMENT 试题id,user_id bigint(11) NOT NULL COMMENT 用户…

2022年十大接口测试工具合集《建议.收藏》

接口测试的全称是应用程序编程接口(API)测试,从原理上来说,接口测试是模拟客户端向服务器端发送请求,然后检查能否获得正确的返回信息。接口测试用于测试RESTful API、SOAP Web服务,这些服务可以通过HTTP、…

Web前端期末大作业--马尔代夫旅游网页设计(HTML+CSS+JavaScript+)实现

🍅 作者主页:Java李杨勇 🍅 简介:Java领域优质创作者🏆、【java李阳勇】公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我,都给你】 🍅 欢迎点赞 👍 收藏 ⭐留言 &…

基于Java-SpringBoot+vue实现的前后端分离信息管理系统设计和实现

🍅 作者主页:Java李杨勇 🍅 简介:Java领域优质创作者🏆、【java李阳勇】公号作者✌ 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 前言: 当…

IDEA 启动项目报错 Unable to make field private com.sun.tools.javac.processing.JavacProcessingE

今天帮同学部署项目报错: Unable to make field private com.sun.tools.javac.processing.JavacProcessingEnvironment$Discovere 原因是因为JDK版本太高与项目中使用的jdk版本不对应,修改Project SDK版本就行了

MySQL连接navicat出现 2059 - authentication plugin ‘caching_sha2_password解决方法

今天给同学部署项目的时候用navicat登录的时候报错:2059 - authentication plugin caching_sha2_password解决方法。 出现的原因是:mysql8之前版本中加密规则为mysql_native_password mysql8以后的加密规则为caching_sha2_password 将mysql用户登录加密规…

HBuilderX预编译器错误:代码使用了scss/sass语言,但未安装相应的编译器插件,请前往插件市场安装该插件:

预编译器错误:代码使用了scss/sass语言,但未安装相应的编译器插件,请前往插件市场安装该插件。 解决方法:打开HBuilder,点击工具选项,然后点击插件安装就可以了 直接下载之后解压到 HBuilderX--plugins里面…

Java菜单树递归

主要实现思路 1.首先从菜单数据中获取所有根节点。 2.为根节点建立次级子树并拼接上。 3.递归为子节点建立次级子树并接上,直至为末端节点拼接上空的“树”。 数据表设计: CREATE TABLE menu (id bigint(20) unsigned NOT NULL COMMENT 主键,name v…

Linux远程navicat连接不上(账号密码都是对的)

明明已经修改成功,却还是连接不上。 最开始是执行的这个以为修改成功,本地都是可以连接的,最后发现这个localhost需要替换成%才可以。 ALTER USER rootlocalhost IDENTIFIED WITH mysql_native_password BY 新密码; rootlocalhost 换成 ro…