SpringCloud入门简介

简介

Spring Cloud应用架构图

在这里插入图片描述

  • 分布式系统的简化版(官方介绍)
  • SpringCloud基于SpringBoot提供了一整套微服务的解决方案,包括服务注册与发现,配置中心,全链路监控,服务网关,负载均衡,熔断器等组件,除了基于Netflix的开源组件做高度抽象封装之外,还有一些选型中立的开源组件
  • SpringCloud利用SpringBoot的开发便利性巧妙地简化了分布式系统的基础设施开发,SpringCloud为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线,全局所、决策精选、分布式会话等等,他们都可以用SpringBoot的开发风格做到一键启动和部署。

一句话概括:SpringCloud是分布式微服务架构下的一站式解决方案,是各个微服务架构落地技术的几何体,俗称微服务全家桶。

为什么要用SpringCloud

1、由于SpringCloud基于强大的SpringBoot技术搭建, 所以整个开发过程的效率会得到极大提升
2、SpringCloud提供了一套非常完善的分布式系统所需组件, 开发人员可以简单快速的搭建出一套分布式系统框架,极大的降低了开发分布式应用的难度
3、由于SpringCloud对内部各个组件做了高度、友好、统一的封装,使得开发人员在开发过程中更顺畅且不容易出错。

SpringCloud与Dubbo的区别

最大的区别:Spring Cloud抛弃了Dubbo 的RPC通信,采用的是基于HTTP的REST方式。

严格来说,这两种方式各有优劣。虽然在一定程度上来说,后者牺牲了服务调用的性能,但也避免了上面提到的原生RPC带来的问题。而且REST相比RPC更为灵活,服务提供方和调用方的依赖只依靠一纸契约,不存在代码级别的强依赖,这在强调快速演化的微服务环境下,显得更为合适。

Dubbo和Spring Cloud并不是完全的竞争关系,两者所解决的问题域不一样:Dubbo的定位始终是一款RPC框架,而Spring Cloud的目的是微服务架构下的一站式解决方案。

非要比较的话,Dubbo可以类比到Netflix OSS技术栈,而Spring Cloud集成了Netflix OSS作为分布式服务治理解决方案,但除此之外Spring Cloud还提供了包括config、stream、security、sleuth等分布式服务解决方案。

当前由于RPC协议、注册中心元数据不匹配等问题,在面临微服务基础框架选型时Dubbo与Spring Cloud只能二选一,这也是两者总拿来做对比的原因。

Dubbo之后会积极寻求适配到Spring Cloud生态,比如作为SpringCloud的二进制通讯方案来发挥Dubbo的性能优势,或者Dubbo通过模块化以及对http的支持适配到Spring Cloud

集群、微服务和分布式的关系

简单来说,

  • 集群是把一个应用部署多套,来共同提供服务
  • 分布式是把一个应用按照业务拆分成多个子应用来部署,每个子应用又可以以集群方式部署
  • 微服务是分布式的一种具体架构方式,服务拆分粒度更细,本身也属于分布式范畴

具体可参考:

CSDN:集群,分布式,微服务概念和区别理解

简书:什么是集群,分布式,微服务?

知乎:分布式服务架构与微服务架构概念的区别与联系是怎样的?

SpringBoot和SpringCloud的关系

  • SpringBoot:专注于快速方便的开发单个个体微服务(关注微观);
  • SpringCloud:关注全局的微服务协调治理框架,将SpringBoot开发的一个个单体微服务组合并管理起来(关注宏观);
  • SpringBoot可以离开SpringCloud独立使用,但是SpringCloud不可以离开SpringBoot,属于依赖关系。

关于SpringCloud的一些概念性的介绍就这些了,接下来是SpringCloud的重要的服务组件Eureka,请关注下篇文章的关于Eureka的使用方式。

传送门:SpringCloud之Eureka组件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值