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来做、刚好用到这块、目前只把章节列出来了、后续会陆续慢慢更新章节具体内容、大家一起学习进步、同时博主也再巩固下这块知识、路过的点赞收藏不过分吧