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

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
传统型负载均衡 CLB,每月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中的重要组件

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
目录
相关文章
|
10月前
|
Cloud Native Java Nacos
springcloud/springboot集成NACOS 做注册和配置中心以及nacos源码分析
通过本文,我们详细介绍了如何在 Spring Cloud 和 Spring Boot 中集成 Nacos 进行服务注册和配置管理,并对 Nacos 的源码进行了初步分析。Nacos 作为一个强大的服务注册和配置管理平台,为微服务架构提供
4054 14
|
10月前
|
前端开发 Java Nacos
🛡️Spring Boot 3 整合 Spring Cloud Gateway 工程实践
本文介绍了如何使用Spring Cloud Alibaba 2023.0.0.0技术栈构建微服务网关,以应对微服务架构中流量治理与安全管控的复杂性。通过一个包含鉴权服务、文件服务和主服务的项目,详细讲解了网关的整合与功能开发。首先,通过统一路由配置,将所有请求集中到网关进行管理;其次,实现了限流防刷功能,防止恶意刷接口;最后,添加了登录鉴权机制,确保用户身份验证。整个过程结合Nacos注册中心,确保服务注册与配置管理的高效性。通过这些实践,帮助开发者更好地理解和应用微服务网关。
1759 0
🛡️Spring Boot 3 整合 Spring Cloud Gateway 工程实践
|
负载均衡 Java 开发者
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
704 5
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
887 37
|
负载均衡 网络协议 Java
浅谈Springboot与Springcloud的区别
浅谈Springboot与Springcloud的区别
874 1
|
Java 微服务 Spring
SpringBoot+Vue+Spring Cloud Alibaba 实现大型电商系统【分布式微服务实现】
文章介绍了如何利用Spring Cloud Alibaba快速构建大型电商系统的分布式微服务,包括服务限流降级等主要功能的实现,并通过注解和配置简化了Spring Cloud应用的接入和搭建过程。
SpringBoot+Vue+Spring Cloud Alibaba 实现大型电商系统【分布式微服务实现】
|
监控 NoSQL Java
通用快照方案问题之Martin Flower提出的微服务之间的通信如何解决
通用快照方案问题之Martin Flower提出的微服务之间的通信如何解决
128 0
|
2月前
|
JavaScript Java 关系型数据库
基于springboot的项目管理系统
本文探讨项目管理系统在现代企业中的应用与实现,分析其研究背景、意义及现状,阐述基于SSM、Java、MySQL和Vue等技术构建系统的关键方法,展现其在提升管理效率、协同水平与风险管控方面的价值。
|
2月前
|
搜索推荐 JavaScript Java
基于springboot的儿童家长教育能力提升学习系统
本系统聚焦儿童家长教育能力提升,针对家庭教育中理念混乱、时间不足、个性化服务缺失等问题,构建科学、系统、个性化的在线学习平台。融合Spring Boot、Vue等先进技术,整合优质教育资源,提供高效便捷的学习路径,助力家长掌握科学育儿方法,促进儿童全面健康发展,推动家庭和谐与社会进步。