1.入门篇十分钟了解Spring Cloud

文章目录 Spring Cloud入门系列汇总

为什么需要学习Spring Cloud
什么是Spring Cloud
设计目标与优缺点
设计目标
优缺点
Spring Cloud发展前景
整体架构

主要项目 Spring Cloud Config Spring Cloud Netflix Spring Cloud Bus Spring Cloud Consul Spring Cloud Security Spring Cloud Sleuth Spring Cloud Stream Spring Cloud Task Spring Cloud Zookeeper Spring Cloud Gateway Spring Cloud OpenFeign Spring Cloud的版本关系 Spring Cloud和SpringBoot版本对应关系 Spring Cloud和各子项目版本对应关系 和Spring Boot的关系 Spring Cloud入门系列汇总

序号 内容
1 Spring Cloud入门-十分钟了解Spring Cloud
2 Spring Cloud入门-Eureka服务注册与发现(Hoxton版本)
3 Spring Cloud入门-Ribbon服务消费者(Hoxton版本)
4 Spring Cloud入门-Hystrix断路器(Hoxton版本)
5 Spring Cloud入门-Hystrix Dashboard与Turbine断路器监控(Hoxton版本)
6 Spring Cloud入门-OpenFeign服务消费者(Hoxton版本)
7 Spring Cloud入门-Zuul服务网关(Hoxton版本)
8 Spring Cloud入门-Config分布式配置中心(Hoxton版本)
9 Spring Cloud入门-Bus消息总线(Hoxton版本)
10 Spring Cloud入门-Sleuth服务链路跟踪(Hoxton版本)
11 Spring Cloud入门-Consul服务注册发现与配置中心(Hoxton版本)
12 Spring Cloud入门-Gateway服务网关(Hoxton版本)
13 Spring Cloud入门-Admin服务监控中心(Hoxton版本)
14 Spring Cloud入门-Oauth2授权的使用(Hoxton版本)
15 Spring Cloud入门-Oauth2授权之JWT集成(Hoxton版本)
16 Spring Cloud入门-Oauth2授权之基于JWT完成单点登录(Hoxton版本)
17 Spring Cloud入门-Nacos实现注册和配置中心(Hoxton版本)
18 Spring Cloud入门-Sentinel实现服务限流、熔断与降级(Hoxton版本)
19 Spring Cloud入门-Seata处理分布式事务问题(Hoxton版本)
20 Spring Cloud入门-汇总篇(Hoxton版本)

为什么需要学习Spring Cloud
不论是商业应用还是用户应用,在业务初期都很简单,我们通常会把它实现为单体结构的应用。但是,随着业务逐渐发展,产品思想会变得越来越复杂,单体结构的应用也会越来越复杂。这就会给应用带来如下的几个问题:

代码结构混乱:业务复杂,导致代码量很大,管理会越来越困难。同时,这也会给业务的快速迭代带来巨大挑战;
开发效率变低:开发人员同时开发一套代码,很难避免代码冲突。开发过程会伴随着不断解决冲突的过程,这会严重的影响开发效率;

排查解决问题成本高:线上业务发现 bug,修复 bug 的过程可能很简单。但是,由于只有一套代码,需要重新编译、打包、上线,成本很高。

由于单体结构的应用随着系统复杂度的增高,会暴露出各种各样的问题。近些年来,微服务架构逐渐取代了单体架构,且这种趋势将会越来越流行。Spring Cloud是目前最常用的微服务开发框架,已经在企业级开发中大量的应用。

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

设计目标与优缺点
设计目标
协调各个微服务,简化分布式系统开发。

优缺点
微服务的框架那么多比如:dubbo、Kubernetes,为什么就要使用Spring Cloud的呢?

优点:

产出于Spring大家族,Spring在企业级开发框架中无人能敌,来头很大,可以保证后续的更新、完善
轻轻松松几行代码,注解或者配置就完成了熔断、负载均衡、注册中心的各种平台功能
Spring Cloud 社区活跃度很高,教程很丰富,遇到问题很容易找到解决方案
服务拆分粒度更细,耦合度比较低,有利于资源重复利用,有利于提高开发效率
可以更精准的制定优化服务方案,提高系统的可维护性
减轻团队的成本,可以并行开发,不用关注其他人怎么开发,先关注自己的开发
微服务可以是跨平台的,可以用任何一种语言开发
适于互联网时代,产品迭代周期更短
缺点:

微服务过多,治理成本高,不利于维护系统
分布式系统开发的成本高(容错,分布式事务等)对团队挑战大
总的来说优点大过于缺点,目前看来Spring Cloud是一套非常完善的分布式框架,目前很多企业开始用微服务、Spring Cloud的优势是显而易见的。因此对于想研究微服务架构的同学来说,学习Spring Cloud是一个不错的选择。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsfjpd.html