Spring Cloud分布式微服务整体架构

本文阐述了SpringCloud在分布式系统中的应用,与Dubbo对比,强调其组件如Eureka、Feign、Ribbon和Zuul在电商场景中的协作,以及SpringCloud全家桶的易用性和功能集成。同时,讨论了两者在性能、并发和组件齐全性的不同选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

去饭店吃饭就是一个完整的业务,饭店的厨师、配菜师、传菜员、服务员就是分布式;厨师、配菜师、传菜员和服务员都不止一个人,这就是集群;分布式就是微服务的一种表现形式,分布式是部署层面,微服务是设计层面。

如果聊分布式这块的技术,围绕Dubbo来拷问的,但是呢,现在其实非常流行的是Spring Cloud,Dubbo和Spring Cloud以及阿里系的一些技术,现在正在融合,Spring Cloud Alibaba,只不过现在用的公司暂时还没那么多而已

做一下对比,其实底层架构原理是类似的

Dubbo,RPC的性能比HTTP的性能更好,并发能力更强,经过深度优化的RPC服务框架,性能和并发能力是更好一些

很多中小型公司而言,其实稍微好一点的性能,Dubbo一次请求10ms,Spring Cloud耗费20ms,对很多中小型公司而言,性能、并发,并不是最主要的因素

Spring Cloud这套架构原理,走HTTP接口和HTTP请求,就足够满足性能和并发的需要了,没必要使用高度优化的RPC服务框架

Dubbo之前的一个定位,就是一个单纯的服务框架而已,不提供任何其他的功能,配合的网关还得选择其他的一些技术

Spring Cloud,中小型公司用的特别多,老系统从Dubbo迁移到Spring Cloud,新系统都是用Spring Cloud来进行开发,全家桶,主打的是微服务架构里,组件齐全,功能齐全。网关直接提供了,分布式配置中心,授权认证,服务调用链路追踪,Hystrix可以做服务的资源隔离、熔断降级、服务请求QPS监控、契约测试、消息中间件封装、ZK封装

剩是剩在功能齐全,中小型公司开箱即用,直接满足系统的开发需求

Spring Cloud原来支持的一些技术慢慢的未来会演变为,跟阿里技术体系进行融合,Spring Cloud Alibaba,阿里技术会融入Spring Cloud里面去

作为合格的工程师,行业里主流的分布式服务技术栈DubboSpring Cloud两种,有的公司他是用Dubbo的,不用Spring Cloud的,有的公司是用Spring Cloud的,不用Dubbo的,他们是代表了两种主流技术栈

Java工程师,Dubbo和Spring Cloud起码是基本原理,都有一定的了解

大白话 + 现场画图

上网看一些博客资料,或者是买一些Spring Cloud的书,可能没考虑过一个事儿,第一篇必须是用非常通俗的语言,把一个系统如果用Spring Cloud来做分布式架构的话,那么他需要用到Spring Cloud哪些组件,为什么

跟着书或者博客,直接上手开始搭建demo,开始做起来了

分别用Dubbo和Spring Cloud做两个最基本的Demo工程,用电商背景来搭建几个服务

比如说,现在我们有一个电商系统

用户现在需要下单购买一些东西这样子,订单系统、库存系统、仓储系统、积分系统

不太可能说用单块的架构,电商系统你想支撑多少用户量?10万注册用户,日活1000用户来你这里来购买?

百万级用户,十万级日活,单块系统就不太合适了,背后有几十个人的团队在协作开发,此时单块系统是绝对不合适的

梳理和明确一个概念:电商系统,拆分为了多个子系统,一次下订单的请求需要多个子系统协作完成,每个子系统都完成一部分的功能,多个子系统分别完成自己负责的事情,最终这个请求就处理完毕

我们不会让每个视频太长,按照我们大纲来讲,说是60讲,粗略的大纲,其实最终会拆分成可能上百讲,Spring Cloud架构原理,我们就要分为上下两讲来说 Spring Cloud核心架构原理

Spring Cloud

Eureka:服务注册中心
Feign:服务调用
Ribbon:负载均衡
Zuul/Spring Cloud Gatway:网关

这么多的系统,电商系统包含了20个子系统,每个子系统有20个核心接口,一共电商系统有400个接口,这么多的接口,直接对外暴露,前后端分离的架构,难道你让前端的同学必须记住你的20个系统的部署的机器,他们去做负载均衡,记住400个接口

微服务那块,网关

灰度发布统一熔断统一降级统一缓存统一限流统一授权认证

Hystrix链路追踪stream、很多组件,Hystrix这块东西,其实是会放在高可用的环节去说的,并不是说一个普通系统刚开始就必须得用的,没有用好的话,反而会出问题,Hystrix线路熔断的框架,必须得设计对应的一整套的限流方案、熔断方案、资源隔离、降级机制,配合降级机制来做

### 回答1: 基于Spring Cloud分布式微服务的优点包括: 1. 弹性伸缩性:分布式系统可以根据需要进行水平扩展,以应对高峰期的流和负载,同时还可以在负载降低时自动缩小规模,从而减少资源浪费。 2. 容错性:分布式系统具有容错性,当某个服务出现故障或者宕机时,其他服务仍然可以正常运行,从而保证整个系统的可用性和稳定性。 3. 松耦合性:分布式系统的服务之间是相互独立的,它们可以单独开发、测试、部署和维护。这种松耦合的架构使得系统更加灵、可维护性更高、易于扩展和升级。 4. 服务发现与注册:Spring Cloud提供了服务发现与注册的机制,使得服务可以自动注册到服务注册中心,并且可以通过服务名来发现和调用其他服务,从而简化了服务之间的调用。 5. 统一配置管理:Spring Cloud提供了统一的配置中心,使得不同的服务可以从同一个配置中心获取配置信息,从而方便了配置管理和维护。 6. 消息总线:Spring Cloud提供了消息总线机制,可以实现不同服务之间的消息传递和事件触发,从而增加了服务之间的交互和协作能力。 ### 回答2: 基于Spring Cloud分布式微服务相比于单服务的优点有以下几个方面。 首先,基于Spring Cloud分布式微服务架构具有高可扩展性。在传统的单服务架构中,系统的功能和业务逻辑都耦合在一个应用中,当系统需求发生变化或者用户增大时,需要整体升级扩容,对于部分功能较少使用的服务也会造成资源浪费。而采用分布式微服务架构后,不同功能的服务可以独立部署和扩容,可以根据需求增加或缩减某个功能的服务节点,提高了系统的可伸缩性。 其次,基于Spring Cloud分布式微服务架构具有更好的故障隔离和容错能力。在单服务架构中,一旦某个服务出现故障或者崩溃,整个系统都会受到影响,用户无法正常使用系统。而采用分布式微服务架构后,不同服务之间相互独立,如果某个服务出现故障或者崩溃,其他服务仍然可以正常运行,保证了整个系统的可用性。 此外,基于Spring Cloud分布式微服务架构支持多语言开发和技术栈混合使用。在传统的单服务架构中,系统只能使用一种开发语言和技术栈,限制了开发人员的选择余地。而采用分布式微服务架构后,每个服务可以独立选择适合的开发语言和技术栈,例如使用Java开发某个服务,使用Node.js开发另一个服务,使得开发人员可以根据项目需求选择最合适的技术。 综上所述,基于Spring Cloud分布式微服务架构相比于单服务具有高可扩展性、良好的故障隔离和容错能力,以及支持多语言开发和技术栈混合使用的优点。这些优点使得分布式微服务架构成为当前互联网开发中较为流行和推崇的架构方式。 ### 回答3: 基于Spring Cloud分布式微服务相较于单服务,具有以下优点: 1. 横向扩展能力:采用微服务架构可以实现服务的水平扩展,即通过增加服务实例来提高系统的处理能力和吞吐。相比单服务的垂直扩展,分布式微服务更加灵和高效。 2. 高可用性:通过微服务架构,可以将服务进行分布式部署,使得系统具备更高的可用性。当一个服务出现故障或者不可用时,其他服务仍能继续运行。 3. 松耦合:分布式微服务采用了松耦合的设计模式,每个服务都是独立部署和运行的,服务之间通过接口进行通信。这种松耦合的设计使得系统更加灵和可维护。 4. 独立开发和部署:采用微服务架构可以将系统拆分为多个小的服务,每个服务可独立开发和部署。这种独立性使得团队可以并行地开发不同的服务,提高开发效率和灵性。 5. 技术选型灵分布式微服务架构可以根据具体需求选择合适的技术栈。每个服务可以使用最适合的技术,无需受限于整个系统的技术选型。 6. 易于维护和扩展:微服务架构将系统拆分为多个小服务,每个服务可独立部署和扩展。这种模块化的设计使得系统维护和扩展更加容易。 综上所述,基于Spring Cloud分布式微服务相比于单服务,具有横向扩展能力、高可用性、松耦合、独立开发和部署、灵的技术选型以及易于维护和扩展的优点。这些优点使得分布式微服务架构在构建大型、复杂系统时更具优势。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赵广陆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值