学无先后,达者为师

网站首页 编程语言 正文

SpringCloud和微服务之间的关系

作者:Eric-x 更新时间: 2022-05-25 编程语言

前言

在搞清楚SpringCloud和微服务的关系之前,我们需要先了解两个点:
1、微服务是什么
2、SpringCloud是什么
该篇文章力求用“”精简“”的话来说明

文章目录

  • 前言
  • 1、微服务是什么
  • 2、SprignCloud是什么
  • 3、SpringCloud和微服务之间的关系
  • 总结


1、微服务是什么

就两句话

(1)微服务就是一种架构风格
(2)微服务就是把一个项目拆分成独立的多个服务,并且多个服务是可以独立运行的,而每个服务都会占用线程。

关于微服务的详细说明可以看这篇文章:什么是微服务

2、SprignCloud是什么

首先,我们要明白Spring和SpringBoot与SpringCloud之间的关系?
这里就不以常规的方式介绍这两个,大家也都知道Spring就是一个框架,这里以另外一个角度来说
1、Spring是基于Java语言的一款框架
2、Spring Boot 是 Spring 的一套快速配置脚手架,可以基于Spring Boot 快速开发单个微服务。在Spring的基础上来简化配置,以约定大于配置的思想来实现自动装配
3、Spring Cloud很大的一部分是基于Spring Boot来实现,必须基于Spring Boot开发。可以单独使用Spring Boot开发项目,但是Spring Cloud离不开 Spring Boot。

那SpringCloud到底是什么呢?

SpringCloud并不是一款新框架或者新技术,而是一系列框架的集合。它利用Spring Boot的开发便利性简化了分布式系统基础设施的开发,如服务发现、服务注册、配置中心、消息总线、负载均衡、 熔断器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。

既然说到这了,就额外补充一下SpringCloud的其他知识,也算是加深一下印象啦~

1、Spring Cloud相关基础服务组件
服务发现——Netflix Eureka (Nacos)
服务调用——Netflix Feign
熔断器——Netflix Hystrix
服务网关——Spring Cloud GateWay
分布式配置——Spring Cloud Config (Nacos)
消息总线 —— Spring Cloud Bus (Nacos)

关于Nacos的详细介绍不了解的可以看这篇文章哦~Nacos的介绍和安装

2、Spring Cloud的版本
Spring Cloud并没有熟悉的数字版本号,而是对应一个开发代号。
在这里插入图片描述
再补充一个关于版本的小知识:
SNAPSHOT: 快照版本,随时可能修改

M: MileStone,M1表示第1个里程碑版本,一般同时标注PRE,表示预览版版。

SR: Service Release,SR1表示第1个正式版本,一般同时标注GA:(GenerallyAvailable),表示稳定版本。


3、SpringCloud和微服务之间的关系

想要搞清楚这个问题,我们要从另外一个角度来切入。

那就是微服务的四个核心问题:
1、服务很多,客户端该怎么访问
2、这么多服务,服务之间如何通信?
3、这么多服务,如何治理?
4、服务挂了怎么办?

有了问题,那肯定就要有解决方案,这个时候我们的SpringCloud就登场了

  • 第一套解决方案:SpringCloud NetFlix ,称为一站式解决方法!
  • 第二套解决方法:Apache Dubbo + Zookeeper 属于半自动,需要整合别人的
  • 第三套解决方案:Spring Cloud Alibaba 也是一站式解决方案

所以:我们可以“简单”的理解为,SpringCloud就是为了解决微服务问题而产生的,当然,肯定不会这么简单,SpringCloud肯定还有别的功能

比如;服务发现、服务调用、容灾机制、负载均衡这些,在这里就不说明了~

总结

该篇文章是我根据:尚硅谷和狂神说的教学总结写出来的,写下的意义也是为了加深这些知识点的印象,以便更好的理解,当然,如果也能帮助到你,那就更好了~

原文链接:https://blog.csdn.net/weixin_47316183/article/details/124904843

栏目分类
最近更新