Spring Cloud特性微服务结构详解

Spring Cloud为开发人员提供了一些工具用来快速构建分布式系统中的一些常见模式和解决一些常见问题(例如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、群集状态)。分布式系统的协调导致了很多样板式的代码(很多固定套路的代码),使用Spring Cloud开发人员可以快速建立实现这些模式的服务和应用程序。它们在任何分布式环境中都能很好地运行,包括开发人员自己的笔记本电脑、裸机数据中心和云计算等托管平台;

经典面试:分布式和微服务有什么区别?

分布式,就是将巨大的一个系统划分为多个模块,这一点和微服务是一样的,都是要把系统进行拆分,部署到不同机器上,因为一台机器可能承受不了这么大的访问压力,或者说要支撑这么大的访问压力需要采购一台性能超级好的服务器,其财务成本非常高,有这些预算完全可以采购很多台普通的服务器了,分布式系统各个模块通过接口进行数据交互,其实分布式也是一种微服务,因为都是把模块拆分变为独立的单元,提供接口来调用,那么它们本质的区别是什么?

它们的本质的区别体现在“目标”上, 何为目标,就是你采用分布式架构或者采用微服务架构,你最终是为了什么,要达到什么目的?

分布式架构的目标是什么? 就是访问量很大一台机器承受不了,或者是成本问题,不得不使用多台机器来完成服务的部署;

而微服务的目标是什么?只是让各个模块拆分开来,不会被互相影响,比如模块的升级或者出现BUG或者是重构等等都不要影响到其他模块,微服务它是可以在一台机器上部署;

但是:分布式也是微服务的一种,微服务也属于分布式;

面试:微服务与Spring-Cloud的关系或区别?

微服务只是一种项目的架构方式、架构理念,或者说是一种概念,就如同我们的MVC架构一样, 那么Spring Cloud便是对这种架构方式的技术落地实现;

面试:微服务一定要使用Spring Cloud吗?

微服务只是一种项目的架构方式、架构理念,所以任何技术都可以实现这种架构理念,只是微服务架构里面有很多问题需要我们去解决,比如:负载均衡,服务的注册与发现,服务调用,服务路由,服务熔断等等一系列问题,如果你自己从0开始实现微服务的架构理念,那头发都掉光了,所以Spring Cloud 帮我们做了这些事情,Spring Cloud将处理这些问题的的技术全部打包好了,我们只需要开箱即用;

Spring Cloud特性

Spring Cloud为分布式系统开发的典型应用场景提供良好的开箱即用的功能,比如:

  • 分布式/版本化配置
  • 服务注册和发现
  • 路由
  • 服务与服务间的调用
  • 负载均衡
  • 断路器
  • 全局锁
  • 领导选举与集群状态
  • 分布式消息传递

Spring Cloud下的主要项目

  • Spring Cloud Config
  • Spring Cloud Netflix
  • Spring Cloud Bus
  • Spring Cloud Cloudfoundry
  • Spring Cloud Open Service Broker
  • Spring Cloud Cluster
  • Spring Cloud Consul
  • Spring Cloud Security
  • Spring Cloud Sleuth
  • Spring Cloud Data Flow
  • Spring Cloud Stream
  • Spring Cloud Stream App Starters
  • Spring Cloud Task
  • Spring Cloud Task App Starters
  • Spring Cloud Zookeeper
  • Spring Cloud AWS
  • Spring Cloud Connectors
  • Spring Cloud Starters
  • Spring Cloud CLI
  • Spring Cloud Contract
  • Spring Cloud Gateway
  • Spring Cloud OpenFeign
  • Spring Cloud Pipelines
  • Spring Cloud Function

Spring Cloud的版本

Spring Cloud是由一系列独立项目组成的,每个独立的项目具有不同的发布节奏,每次Spring Cloud发布版本时,就会组合这一系列的子项目,Spring Cloud为了避免大家对版本号的误解,避免与子项目版本号混淆,所以Spring Cloud发布的版本是一个按照字母顺序的伦敦地铁站的名字(“天使”是第一个版本,“布里克斯顿”是第二个),字母顺序是从A-Z,目前最新稳定版本Greenwich SR3,当Spring Cloud里面的某些子项目出现关键性bug或重大更新,则发布序列将推出名称以“.SRX”结尾的版本,其中“X”是一个数字,比如:Greenwich SR1、Greenwich SR2、Greenwich SR3;

Spring Cloud是微服务开发的一整套解决方案,采用Spring Cloud开发,每个项目依然是使用Spring Boot;

Spring Cloud 与 Spring Boot的兼容版本

【声明】:芜湖站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

相关文章