噢,原来SpringCloud是这样的呀!



1、明确概念

在我们学习java的过程中,都或多或少的听说过Spring Cloud这个术语,知道它是有关微服务,知道它的学习是在Spring Boot之后。



那Spring Cloud到底是什么?是一种技术吗?
其实不然,Spring Cloud是一套生态系统,是一种分布式的架构。那怎么理解这个生态系统呢?



你可以理解成是一个公司,当公司发展初期,公司员工一个顶俩,前台可以是业务员,也可以是后勤,还可以是大老板;当公司发展到一定的规模,公司的人也就越来越多,前台有专门的小姐姐把守,后勤也有了专人处理,老板就只需要上下班时巡视一下。后来的这种状态,我们就简单的它理解成是一种生态。

Java基础学完,学Java进阶;Java进阶学完,学数据库;数据库学完,学前端;前端学完学SSM框架;SSM框架学完,学Spring Boot;Spring Boot学完,学Spring Cloud…

SSM框架学完就已经能看开发一个网站了




在学习开发技术的初期,我们的目标只是如何进行开发(公司发展初期,目标是如何让公司经行运作),开发技术不断地学习,且越来越多(公司的员工到达一定地规模),接下来就是要将技术合理的运用在实际工作中(公司的员工准备工作),Spring Cloud给出了一种工作开发的行动指南(老板命令每个人干什么工作)。当然,这里的开发方式指的是微服务开发。



可能可以又有人要问了,什么是微服务?

简单的一句理解就是:当我们的项目越来越大,我们就需要将项目合理的模块化,以此让专业的人,做专业的事。

如果对微服务还是不清楚,可以参考博客:传送门

有可能你对Spring Cloud的职责、任务还是没有弄清楚,那么希望下面的这张图对你有帮助(来自Spring的官网)。这张图就是你们上班的工作图。张三做ConfigServer,李四做ServiceRegistry,王五做API Gateway。老板就是Spring Cloud。

在这里插入图片描述


2、Spring Cloud入门

既然你对Spring Cloud已经有了一个初步的认识,那么我们就要进行下一步了。


面对同一项工作,老板总是拥有着多种的工作方案,所以Spring Cloud的方案也就不止一种。

比如:Spring Cloud NetFlix、Apache Dubbo zookeeper、SpringCloud Alibaba等等

这些工作方案主要是围绕时间、经济、成本进行展开,多以Spring Cloud也有他的四个基本问题,

分布式架构会遇到的四个核心问题?

  1. 服务众多,客户端该如何去访问?
  2. 服务众多,服务之间如何进行通信?
  3. 服务众多,如何治理呢?
  4. 服务众多,服务出了故障怎么处理?

3、Spring Cloud技术入门

正文开始了,以下的关于技术的讲解,是基于Spring Cloud Netflix的解决方案。

问题一:服务众多,客户端该如何去访问?

Spring Cloud Netflix使用Zuul进行API网关的配置


问题二:服务众多,服务之间如何进行通信?

Spring Cloud Netflix使用Feign或Ribbon进行通信


问题三:服务众多,如何治理呢?

Spring Cloud Netflix使用Eureka进行服务的注册与发现

问题四:服务众多,服务出了故障怎么处理?

Spring Cloud Netflix使用Hystrix进行服务的熔断或降级处理



以上的四种技术,就好比四个专业的人,他们在整个项目的分工中,做着自己专业的事情。当然一项工作的完成不可能只有这四个人(Spring Cloud的这四种技术),还有很多其他的人打配合(其他技术),这里只是列举了解决这四个问题的技术。有时候你也会听到一个名字叫Spring Cloud全家桶,这说的就是Spring Cloud下的这个大集体。


4、技术串讲

当用户访问项目的某个端口时,项目内部会进行一个地址的转化,此时出现的技术叫做Zuul(访问路径的转换);当很多访问进入到项目的内部以后,对于请求,此时出现的技术叫做Ribbon或Feign(负载均衡转化用户访问的压力);我们后台编写的每一个程序项目的子模块都会注册在一个大容器种,方便进行集中的管理,此时出现的技术叫做Eureka(类似于Dubbo的注册中心);当访问的服务器由于某些原因,导致无法访问时,此时可以使用Hystrix技术(服务熔断、服务降级);由于是微服务开发,远程、多人协同开发就显得十分必要了,我们就可以在Git的帮助下,此时出现的技术叫做SpringCloud config(Git加持)。

在这里插入图片描述


这些技术其实官网有一个专业的词语叫做组件。


关于更多的Spring Cloud以及java部分的知识学习,可以查看我之前的博客——自学知识笔记专栏下

希望阅读此文对你有帮助

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

默辨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值