springboot不香吗?为什么还要使用springcloud

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介: springboot不香吗?为什么还要使用springcloud

1.为什么要使用springcloud


如果我们的服务需要调用另外的一个服务,当然可以通过url 加接口直接调用,但是如果url变动后,我们也要跟着修改,还有可能服务宕机我们也不知道,而且现在只有一个url不具备高可用性,就算有多个url,那我们还需自己实现负载均衡,所以我们就需要一种服务独立运行在独立的进程中并与其它的进程相隔离,这个时候微服务就即将闪亮登场了


2.微服务


2.1 什么是微服务


微服务架构(MicroServicesArchitecture)是近几年来软件架构领域出现的高频词汇,它是基于传统的SOA架构演进而来的一种架构模。其提倡将传统的单体架构或分布式架构中的单体应用程序和服务划分成更小粒度的服务,这种服务我们称之为微服(Microservices)。这种服务独立运行在独立的进程中并与其它的进程相隔离,服务于服务之间通常采用基于Http的通信协议构建的RestFulAPI进行通信,每个微服务都围绕着具体的业务二构建,其能独立的开发,构建,发布和部署到类生产环境和生产环境,而不影响其它的依赖业务。

微服务(Microservice)这个概念是2012年出现的,作为加快Web和移动应用程序开发进程的一种方法,2014年开始受到各方的关注,而2015年,可以说是微服务的元年;

越来越多的论坛、社区、blog以及互联网行业巨头开始对微服务进行讨论、实践,可以说这样更近一步推动了微服务的发展和创新。而微服务的流行,MartinFowler功不可没。这老头是个奇人,特别擅长抽象归纳和制造概念。特别是微服务这种新生的名词,都有一个特点:一解释就懂,一问就不知,一讨论就打架。


3. SpringCloud


3.1 SpringCloud简介


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

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

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

发工具包。


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


Spring最擅长的就是集成,把世界上最好的框架拿过来,集成到自己的项目中。

SpringCloud也是一样,它将现在非常流行的一些技术整合到一起,实现了诸如:配

置管理,服务发现,智能路由,负载均衡,熔断器,控制总线,集群状态等等功

能。其主要涉及的组件包括:

Eureka:注册中心
Ribbon:负载均衡
Feign: 服务调用
Hystix:熔断器 服务的熔断、降级!
Zuul: 服务网关
config 配置中心

3.2 SpringCloud与SpringBoot是什么关系?


① SpringBoot专注于快速方便的开发单个个体微服务。 ② SpringCloud是关注全局的微服务协调整理治理框架,它将SpringBoot开发的_个个单体微服务整合并管理起来,为各个微服务之间提供,配置管理、服务发现、断路器、路由、微代理’、事件总线、全局锁’、决策竞选、分布式会话等等集成服。 ③ SpringBoot可以离开SpringCloud独立使用开发项目,但是SpringCloud离不开SpringBoot,属于依赖的关系.④ SpringBoot专注于快速、方便的开发单个微服务个体,SpringCloud关注全局的服务治理框架。


3.3 SpringCloud下载


官网文档:http://projects.spring.io/spring-cloud/ 参考资料: 1)中文版的组件说

明:https://springcloud.cc/spring-cloud-netflix.html 2)开发的API说明:

英文版:http://cloud.spring.io/spring-cloud-static/Dalston.SR1/
中文版:https://springcloud.cc/spring-cloud-dalston.html


2)springcloud中国社区:http://springcloud.cn 3)springcloud中文网:http://sprin

gcloud.cc


3.4 SpringCloud集成的相关项目


1、服务的注册与发现(Eureka) 2、服务消费者(rest+Ribbon) 3、服务消费者

(Feign) 4、断路器(Hystrix) 5、断路器监控(Hystrix Dashboard) 6、路由网关(Zuul)

7、分布式配置中心(Spring Cloud Config) 8、消息总线(Spring Cloud Bus) 9、服务链

路追踪(Spring Cloud Sleuth)


3.5 SpringCloud版本


SpringCloud的版本命名比较特殊,因为它不是一个组件,而是许多组件的集合,它

的命名是以A到Z的为首字母的一些单词组成:


50f37a1dd6df4ea0b019f37c97bdac4a.png


接下来,学习SpringCloud中的重要组件

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
1月前
|
Java API 开发工具
Spring Boot与Spring Cloud Config的集成
Spring Boot与Spring Cloud Config的集成
|
1月前
|
消息中间件 负载均衡 Java
最容易学会的springboot gralde spring cloud 多模块微服务项目
最容易学会的springboot gralde spring cloud 多模块微服务项目
|
26天前
|
监控 NoSQL Java
通用快照方案问题之Martin Flower提出的微服务之间的通信如何解决
通用快照方案问题之Martin Flower提出的微服务之间的通信如何解决
31 0
|
2月前
|
Java API 数据格式
Spring三兄弟:Spring、Spring Boot、Spring Cloud的100个常用注解大盘点
Spring三兄弟:Spring、Spring Boot、Spring Cloud的100个常用注解大盘点
|
2月前
|
SpringCloudAlibaba Cloud Native Dubbo
SpringBoot和SpringCloud,SpringCloudAlibaba版本依赖关系
由于 Spring Boot 3.0,Spring Boot 2.7~2.4 和 2.4 以下版本之间变化较大,目前企业级客户老项目相关 Spring Boot 版本仍停留在 Spring Boot 2.4 以下,为了同时满足存量用户和新用户不同需求,社区以 Spring Boot 3.0 和 2.4 分别为分界线,同时维护 2022.x、2021.x、2.2.x 三个分支迭代。如果不想跨分支升级,如需使用新特性,请升级为对应分支的新版本。 为了规避相关构建过程中的依赖冲突问题,我们建议可以通过 云原生应用脚手架 进行项目创建。
99 0
SpringBoot和SpringCloud,SpringCloudAlibaba版本依赖关系
|
1月前
|
Java API 网络架构
Spring Boot与Spring Cloud Gateway的集成
Spring Boot与Spring Cloud Gateway的集成
|
1月前
|
负载均衡 监控 Java
深入理解Spring Boot与Spring Cloud的整合方式
深入理解Spring Boot与Spring Cloud的整合方式
|
28天前
|
资源调度 Java 调度
Spring Cloud Alibaba 集成分布式定时任务调度功能
Spring Cloud Alibaba 发布了 Scheduling 任务调度模块 [#3732]提供了一套开源、轻量级、高可用的定时任务解决方案,帮助您快速开发微服务体系下的分布式定时任务。
14211 19
|
2月前
|
人工智能 Java Spring
使用 Spring Cloud Alibaba AI 构建 RAG 应用
本文介绍了RAG(Retrieval Augmented Generation)技术,它结合了检索和生成模型以提供更准确的AI响应。示例中,数据集(包含啤酒信息)被加载到Redis矢量数据库,Spring Cloud Alibaba AI Starter用于构建一个Spring项目,演示如何在接收到用户查询时检索相关文档并生成回答。代码示例展示了数据加载到Redis以及RAG应用的工作流程,用户可以通过Web API接口进行交互。
52438 66
|
2月前
|
消息中间件 Java 持续交付
Spring Cloud Alibaba 项目搭建步骤和注意事项
Spring Cloud Alibaba 项目搭建步骤和注意事项
414 0
Spring Cloud Alibaba 项目搭建步骤和注意事项