SpringCloud--简介 (一)

一、简介

1. 什么是Spring Cloud?

  Spring提供了一系列工具,可以帮助开发人员迅速搭建分布式系统中的公共组件(比如:配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁,主节点选举, 分布式session, 集群状态)。协调分布式环境中各个系统,为各类服务提供模板性配置。使用Spring Cloud, 开发人员可以搭建实现了这些样板的应用,并且在任何分布式环境下都能工作得非常好,小到笔记本电脑, 大到数据中心和云平台。
  Spring Cloud官网的定义比较抽象,我们可以从简单的东西开始。Spring Cloud是基于Spring Boot的, 最适合用于管理Spring Boot创建的各个微服务应用。要管理分布式环境下的各个Spring Boot微服务,必然存在服务的注册问题。所以我们先从服务的注册谈起。既然是注册,必然有个管理注册中心的服务器,各个在Spring Cloud管理下的Spring Boot应用就是需要注册的client
  Spring Cloud使用erureka server, 然后所有需要访问配置文件的应用都作为一个erureka client注册上去。eureka是一个高可用的组件,它没有后端缓存,每一个实例注册之后需要向注册中心发送心跳,在默认情况下erureka server也是一个eureka client ,必须要指定一个 server。
Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的开发便利性简化了分布式系统的开发,比如服务发现、服务网关、服务路由、链路追踪等。Spring Cloud 并不重复造轮子,而是将市面上开发得比较好的模块集成进去,进行封装,从而减少了各模块的开发成本。换句话说:Spring Cloud 提供了构建分布式系统所需的“全家桶”。

2. Spring Cloud 优缺点

其主要优点有:

1)集大成者,Spring Cloud 包含了微服务架构的方方面面。

2) 约定优于配置,基于注解,没有配置文件。

3)轻量级组件,Spring Cloud 整合的组件大多比较轻量级,且都是各自领域的佼佼者。

4) 开发简便,Spring Cloud 对各个组件进行了大量的封装,从而简化了开发。

5)开发灵活,Spring Cloud 的组件都是解耦的,开发人员可以灵活按需选择组件。

3. 接下来,我们看下它的缺点:

项目结构复杂,每一个组件或者每一个服务都需要创建一个项目。
部署门槛高,项目部署需要配合 Docker 等容器技术进行集群部署,而要想深入了解 Docker,学习成本高。

文档地址:
https://cloud.spring.io/spring-cloud-netflix/single/spring-cloud-netflix.html

二、常用组件

  1. 服务发现——Netflix Eureka
  2. 客服端负载均衡——Netflix Ribbon
  3. 断路器——Netflix Hystrix
  4. 服务网关——Netflix GateWay
  5. 分布式配置——Spring Cloud Config
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、简介 Spring Cloud 为开发者提供了在分布式系统(配置管理,服务发现,熔断,路由,微代理,控制总线,...
    生活的探路者阅读 1,070评论 0 6
  • 河阳古民居,始建于五代末期,为元代古民居,已有一千多年的历史。河阳村民94%姓朱,这里山清水秀,民风古朴,至今依然...
    秋飒无垠阅读 395评论 0 5
  • 夜里睡觉很讨嫌。哭闹一番才会睡觉。
    hs双儿阅读 172评论 0 0
  • 我们拥有同样的夜色 在同一片夜空下 亦或是在一个门廊里 言语、呼吸。 但我的夜,却一定不是你的夜。 我的夜 在我所...
    耕芸的芸阅读 167评论 3 3