Spring入门——SpringCloud(一)

耗尽温柔 提交于 2019-12-11 19:35:36

在看SpringCloud之前我们先来了解一下什么是微服务

微服务

维基百科上这样说

微服务 (Microservices)
是一种软件架构风格,它是以专注于单一责任与功能的小型功能区块为基础,利用模块化的方式组合出复杂的大型应用程序,微服务是一种以业务功能为主的服务设计概念,每一个服务都具有自主运行的业务功能,对外开放不受语言限制的 API (最常用的是 HTTP),应用程序则是由一个或多个微服务组成。

也就是说 我们将我们的服务拆分成更小 每个服务相互独立 只需暴露接口,两者毫不相干,只通过接口进行调用。
当我们用上微服务之后,我们只需关心每个业务的接口之间的调用即可。 每个服务都是独立的组件,可复用,可替换,降低耦合,易维护。常见的微服务架构有 dubbo、Kubernetes、SpringCloud

SpringCloud

在这里插入图片描述
SpringCloud是Spring的子项目

SpringCloud整合了市面流行的技术:集成了配置管理,服务发现,智能路由,负载均衡,熔断器,控制总线,集群状态等等功能。

主要组件有

SpringCloudNetflix

netfix
SpringCloudNetflix:与Netflix的各种OSS组件集成(Eureka, Hystrix, , Archaius等)

这个组件下集成了Spring的核心功能
在这里插入图片描述

Netflix Eureka(服务中心)

服务中心:相当于 dubbo中的ZooKeeper,微服务的注册中心

Netflix Hystrix(熔断器)

熔断器:当服务发生错误时,隔离访问远程服务、第三方库,防止出现级联失败。

Netflix Zuul(智能路由)

智能路由:当访问服务时经过,相当于服务的转发。

Netflix Ribbon(客户端负载均衡)

负载均衡: 在集群的条件下,实现对服务器访问的分配

Spring Cloud Gateway(网关)

在这里插入图片描述
该项目提供了一个用于在Spring MVC之上构建API网关的库。 Spring Cloud Gateway旨在提供一种简单而有效的方法来路由到API,并为它们提供跨领域的关注,例如:安全性,监视/指标和弹性。
网关中也包含了路由,即使用了网关就无需配置Zuul。

Spring Cloud Config(配置中心)

config
翻译不过来了,
再简单简单说就是:之前的配置文件是存放在项目内部的,耦合度太高,我们把配置文件抽取出来,放在git
仓库上,对git仓库统一进行配置。

Spring Cloud Bus(消息总线)

在这里插入图片描述
Spring Cloud Bus将轻量级消息代理程序链接到分布式系统的节点。 然后可以将其用于广播状态更改(例如配置更改)或其他管理指令。
简单点说:我们可以利用SpringCloudBus做到在不重启项目的情况下,实现配置文件的修改。

Spring Cloud Security (安全中心)


Spring Cloud Security为构建安全的应用程序和服务提供了一组基本的方法。可以在外部(或集中)进行大量配置的声明式模型有助于实现大型系统的协作、远程组件,通常使用中央indentity管理服务。它在云计算这样的服务平台上也非常容易使用。

Spring Cloud Consul(多服务中心)

在这里插入图片描述
Spring Cloud Consul通过自动配置并绑定到Spring Environment和其他Spring编程模型习惯用法,为Spring Boot应用程序提供Consul集成。 通过一些简单的注释,您可以快速启用和配置应用程序内的通用模式,并使用Hashicorp的Consul构建大型分布式系统

最后

当然SpringCloud还有很多很多的组件,这里这是列举了最常见的组件

有兴趣可到官网查看Spring官网

SpringCloud的体系相当庞大,先了解概念,

有空再更

如果文章有错的地方欢迎指正

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!