关于SpringCloud出生的前因

业务架构的演变

1.单体架构:一个war,一个进程

从运维者的角度:一个小小的改动,需要把整个项目重新打包部署
在这里插入图片描述

从业务的角度拆分:用户模块,订单模块,商品 模块------>单独部署成一个个war包
在这里插入图片描述
2.随着网民,并发数增加之后为了满足更高的要求:商品模块-------->N 个 商品模块-------->高可用,集群化部署的方式+负载均衡
在这里插入图片描述

负载均衡:
在这里插入图片描述

面向服务的架构:SOA架构

随着高可用,集群化+负载均衡的出现,这个架构依旧存在的着问题,比如通用性的功能(登录验证,天气,发送邮件)重复的开发和部署:人力资源的浪费从而出现了SOA架构

在这里插入图片描述

微服务时代

面对用户模块的代码量越来越多,维护的成本也越来越高,这时候需要更细粒度的拆分,这就是微服务时代。但是微的拆分是无法衡量的。

在这里插入图片描述

微服务的定义:
1.每个服务都有自己的进程
2.这些服务需要通信,我们通常采用轻量级的通信机制,采用HTTP网络请求这样的方式去通信
3.这些服务可自动化 ,可伸缩(随时可增加服务)
4.每个服务可以用不同的开发技术,不同的 数据库开发

微服务要解决的问题

(1)Http协议调用方式

(2)服务的名称 服务所在地址的URL关系维护,既服务的注册与发现(中间件)

(3)负载均衡

(4) 当user调用order失败的时候,是直接给user返回一个错误码,还是等待一段时间 重试(等着order 容错)

(5) 如果服务的资源有限,当并发量超过一定数的时候order可以就会崩溃,需要对order进行一定的保护:熔断,限流,降级

(6)单体时代,只需要在一个进程上面登录验证 ,但是微服务架构如何保证每个服务都进行了登录验证:统一安全认证入口(网关层面)
(7)等

Spring生态

由于微服务要解决很多问题,但是不同的公司对于某个问题有不同的组件去解决这个问题

1.SpringMVC 创建了一个order
(1)整合Mybatis CRUD
(2)lombok Bean
(3)xxx

2.SpringMVC user
(1)整合A组件完成http调用order服务
(2)整合B做服务的注册与发现

为何要使用Spring

管理Bean ( DI IOC ) AOP MVC,但是这样使用Spring并不方便,需要搭建很多配置,因此在Spring的基础上封装了SpringBoot
SpringBoot:一键创建工程和更高效地开发代码

SpringCloud

SpringCloud定义:为了解决微服务所遇到的问题提供的一个通用性解决方案,它定义好了各种接口和规范

SpringBoot整合各大公司的组件完成微服务的解决方案

如服务的注册与发现(中间件):nacos ,eureka ,consul, zookeeper,etcd等

SpringBoot+各大组件的时候,由于组件太多,SpringBoot不可能一个个去整合,那样子会累死它,必须有一个 类似于中间人的东西去帮SpringBoot整和各种组件:这个东西就是SpringCloud

在这里插入图片描述

在这里插入图片描述

==因此在微服务架构时代,要解决微服务架构所遇到的问题,只需要SpringBoot整合SpringCloud就可以了,而各种组件实现SpringCloud接口 ,使整合难度大大减低 ==

SpringCloud

在这里插入图片描述
在这里插入图片描述

总结

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值