浅谈Springboot与Springcloud的区别

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
简介: 浅谈Springboot与Springcloud的区别

每天工作中都在用SpringBoot框架,当面试的时候被问到Springcloud的基本组件都有哪些的时候,我当时是蒙圈的状态,告诉大家在使用底层东西的时候基本的业务知识还是得掌握下,这样才能完美的使用。


SpringCloud是一个基于SpringBoot的实现云应用的开发工具,


SpringBoot专注于快速/方便集成单个个体,使用了默认大于配置的理念,很多集成方案已经帮你选择好了,能不配置就不配置。


SpringCloud专注全局的服务治理框架,很大一部分是基于SpringBoot来实现的。


我们来说下SpringCloud的组件有五种


1. 服务发现与注册,SpringCloud中常用的服务注册中心有Eureka和Nacos。服务注册中心负责服务的注册与发现。服务提供者在启动时向注册中心注册自己的服务信息,服务消费者通过服务名向注册中心咨询并获取所有的服务实例,从而实现服务的动态发现和调用。


2. 客户端负载均衡,SpringCloud Ribbon提供了客户端负载均衡的功能,它基于HTTP和TCP的客户端负载均衡工具。支持简单轮询,随机等多种负载均衡策略。


3. 熔断机制 SpringCloud Hystrix提供了断路器的功能,用于防止因单个服务的调用失败导致多个请求的阻塞或失败。断路器模式允许应用程序在检测到故障调用链,避免雪崩效应。同时也能在故障解决后尝试重新连接。


4. API网关,SpringCloud Gateway 是SpringCloud提供的API网关组件。用于同意处理微服务架构中的请求,Gateway可以提供请求的路由/过滤等功能,支持异步非阻塞处理。提高系统的吞吐量和相应速度。


5. 分布式配置管理 SpringCloud Config提供了分布式配置管理的功能,用于集中股那里微服务的配置信息,通过Config可以动态地更新服务配置,提供配置管理的灵活性和便利性。


SpringBoot 的核心注解


1 @SpringBootApplication 是一个组合注解,包含了@SpringBootConfiguration   @EnableAutoConfiguration   @Component三个注解 它通常放在主应用程序类上。

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}


2 @EnableAutoConfiguration 启用自动配置,SpringBoot 会尝试基于类路径设置/其他bean以及各种属性设置自动配置。


3 @RestController 是一个方便的注解,它是@Controller和@ResponseBody的组合,添加了RestController的类中方法返回的值通常被直接写入HTTp响应体中,是一种REST风格的控制器。


相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
2月前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
410 37
|
3月前
|
负载均衡 监控 Java
SpringCloud常见面试题(一):SpringCloud 5大组件,服务注册和发现,nacos与eureka区别,服务雪崩、服务熔断、服务降级,微服务监控
SpringCloud常见面试题(一):SpringCloud 5大组件,服务注册和发现,nacos与eureka区别,服务雪崩、服务熔断、服务降级,微服务监控
SpringCloud常见面试题(一):SpringCloud 5大组件,服务注册和发现,nacos与eureka区别,服务雪崩、服务熔断、服务降级,微服务监控
|
3月前
|
Java 微服务 Spring
SpringBoot+Vue+Spring Cloud Alibaba 实现大型电商系统【分布式微服务实现】
文章介绍了如何利用Spring Cloud Alibaba快速构建大型电商系统的分布式微服务,包括服务限流降级等主要功能的实现,并通过注解和配置简化了Spring Cloud应用的接入和搭建过程。
SpringBoot+Vue+Spring Cloud Alibaba 实现大型电商系统【分布式微服务实现】
|
3月前
|
Java
SpringBoot和SpringCloud对应版本
SpringBoot和SpringCloud对应版本
85 0
|
4月前
|
Java API 开发工具
Spring Boot与Spring Cloud Config的集成
Spring Boot与Spring Cloud Config的集成
|
4月前
|
监控 NoSQL Java
通用快照方案问题之Martin Flower提出的微服务之间的通信如何解决
通用快照方案问题之Martin Flower提出的微服务之间的通信如何解决
43 0
|
4月前
|
Java 微服务 Spring
【spring cloud】注解@SpringCloudApplication和@SpringBootApplication的区别
【spring cloud】注解@SpringCloudApplication和@SpringBootApplication的区别
|
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)
124 1