SpringCloud概述及与SpringBoot的关系

简介: SpringCloud概述及与SpringBoot的关系

一、微服务概述

单体架构:将服务的所有功能集中在一个项目中开发,打成一个包部署


优点:架构简单、部署成本低

缺点:耦合度高


适合小型项目,例如:学生管理系统

1b31536997b9435c8f262ae4bf6cf4b7.png

分布式架构:根据业务功能对系统进行拆分,每个业务模块作为独立项目开发,称为一个服务


优点:降低服务耦合、有利于服务升级拓展

缺点:架构复杂、难度大


适合大型互联网项目,例如京东、淘宝

822fa0e2d1864853a0db9cad465c8a9f.png

微服务是一种经过良好架构设计的分布式架构方案,微服务架构的特征:


单一职责:微服务拆分粒度更小,每一个服务都对唯一的业务能力,做到单一职责,避免重复业务开发

面向服务:微服务对外暴露业务接口

自治:团队独立、技术独立、数据独立、部署独立

隔离性强:服务调用做好隔离、容错、降级,避免出现级联问题


优缺点:

优点:拆分粒度更小、服务更独立、耦合度更低

缺点:架构非常复杂、运维、监控、部署难度提高

ff98880f21ba4439b8e4d85bffe545f2.png

二、SpringCloud概述

① SpringCloud基于SpringBoot提供了一套微服务解决方案,包括服务注册与发现、配置中心、全链路监控、服务网关、负载均衡、熔断器等组件,除了基于NetFilx的开源组件做高度抽象封装之外,还有一些选型中立的开源组件。

② SpringCloud利用SpringBoot的开发便利性,巧妙地简化了分布式系统基础设施的开发,SpringCloud为开发人员提供了快速构建分布式系统的一些工具,包括配置管理,服务发现,断路器,路由,微代理,事件总线,全局锁,决策竞选,分布式会话等等,他们都可以用SpringBoot的开发风格做到一键启动和部署。

③ SpringBoot并没有重复造轮子,它只是将目前各家公司开发的比较成熟,经得起实际考研的服务框架组合起来,通过SpringBoot风格进行再封装,屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂,易部署和易维护的分布式系统开发工具包

④ SpringCloud是分布式微服务架构下的一站式解决方案,是各个微服务架构落地技术的集合体,俗称微服务全家桶。

三、SpringCloud和SpringBoot关系

SpringBoot专注于快速方便的开发单个个体微服务


SpringCloud是关注全局的微服务协调整理治理框架,它将SpringBoot开发的一个个单体微服务整合并管理起来,为各个微服务之间提供:配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁,决策竞选、分布式会话等等集成服务


SpringBoot可以离开SpringCloud独立使用,开发项目,但是SpringCloud离不开SpringBoot,属于依赖关系


SpringBoot专注于快速、方便的开发单个个体微服务,SpringCloud关注全局的服务治理框架

目录
相关文章
|
2天前
|
SpringCloudAlibaba Java Nacos
|
2月前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
365 37
|
29天前
|
负载均衡 网络协议 Java
浅谈Springboot与Springcloud的区别
浅谈Springboot与Springcloud的区别
32 1
|
3月前
|
Java 微服务 Spring
SpringBoot+Vue+Spring Cloud Alibaba 实现大型电商系统【分布式微服务实现】
文章介绍了如何利用Spring Cloud Alibaba快速构建大型电商系统的分布式微服务,包括服务限流降级等主要功能的实现,并通过注解和配置简化了Spring Cloud应用的接入和搭建过程。
SpringBoot+Vue+Spring Cloud Alibaba 实现大型电商系统【分布式微服务实现】
|
3月前
|
Java
SpringBoot和SpringCloud对应版本
SpringBoot和SpringCloud对应版本
83 0
|
4月前
|
Java API 开发工具
Spring Boot与Spring Cloud Config的集成
Spring Boot与Spring Cloud Config的集成
|
4月前
|
消息中间件 负载均衡 Java
最容易学会的springboot gralde spring cloud 多模块微服务项目
最容易学会的springboot gralde spring cloud 多模块微服务项目
|
4月前
|
监控 NoSQL Java
通用快照方案问题之Martin Flower提出的微服务之间的通信如何解决
通用快照方案问题之Martin Flower提出的微服务之间的通信如何解决
42 0
|
2月前
|
SpringCloudAlibaba API 开发者
新版-SpringCloud+SpringCloud Alibaba
新版-SpringCloud+SpringCloud Alibaba
|
3月前
|
资源调度 Java 调度
Spring Cloud Alibaba 集成分布式定时任务调度功能
定时任务在企业应用中至关重要,常用于异步数据处理、自动化运维等场景。在单体应用中,利用Java的`java.util.Timer`或Spring的`@Scheduled`即可轻松实现。然而,进入微服务架构后,任务可能因多节点并发执行而重复。Spring Cloud Alibaba为此发布了Scheduling模块,提供轻量级、高可用的分布式定时任务解决方案,支持防重复执行、分片运行等功能,并可通过`spring-cloud-starter-alibaba-schedulerx`快速集成。用户可选择基于阿里云SchedulerX托管服务或采用本地开源方案(如ShedLock)
111 1