文章目录 Spring Cloud入门系列汇总
为什么需要学习Spring Cloud
什么是Spring Cloud
设计目标与优缺点
设计目标
优缺点
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是一个不错的选择。