今天这篇博客,主要说说spring,springboot,springcloud这三者都是干嘛的?
相关的视频资源:https://www.bilibili.com/video/BV1XQ4y1m7ex
架构 > 解偶
Ioc :控制反转
原来我们都是自己一步步操作,现在交给容器了!我们需要什么就去拿就可以了
Aop :切面(本质,动态代理)
为了解决什么?不影响业务本来的情况下,实现动态增加功能,大量应用在日志,事务 … 等等方面
spring 是一个轻量级的java开源框架,容器目的:解决企业开发的复杂性问题 spring 是春天,觉得他是春天,也十分复杂,配置文件!
SpringBoot 并不是新东西,就是spring的升级版!
新一代JavaEE的开发标准,开箱即用!一>拿过来就可以用!
它自动帮我们配置了非常多的东西,我们拿来即用!
特性:约定大于配置!
随着公司体系越来越大,用户越来越多!
微服务架构-一>新架构
模块化.功能化!
用户,支付,签到,娱乐 … ;
人多余多:一台服务器解决不了;在增加服务器!横向
假设A服务器占用 98 %资源, B 服务器只占用了 10 %。--负载均衡
将原来的整体项目.分成模块化.用户就是,个单独的项目.签到也是一个单独的项目,项目和项目之前需要通信,如何通信
用户非常多,而签到十分少!给用户多一点服务器,给签到少一点服务器
分布式架构会遇到的四个核心问题?
1.这么多服务,客户端该如何去访问?
2.这么多服务.服务之间如何进行通信?
3.这么多服务.如何治理呢?
4.服务挂了.怎么办?
spring cloud,是一套生态,就是来解决以上分布式架构的 4个问题想使用 Spring cloud ,必须要掌握 SpringBoot,
因为 Spring cloud 是基于 springBoot。
1. Spring cloud NetFlix 出来了一套解决方案!一站式解决方案.我们都可以直接去这里拿?
2018年年底, NetFlix 宣布无限朋停止维护。生态不再维护,就会脱节.
2. Apache Dubbo zookeeper ,第二套解决系统.
API:没有!要么找第三方组件.要么自己实现
Dubbo 是一个高性能基于Java 实现的 Rpc 通信框架! 2.6.x
服务注册与发现, zookeeper :动物园管理者( Hadoop ,Hive )
没有:借助了 Hystrix
不完兽, Doubbo 当前 Doubbo 3.0 将提倡具备当代特性(如响应式编程)的相关支持同时汲取阿里内部HSF的设计长处来实现两者融合
当前预览版的很多地方还在探讨中,希望大家能够积极反馏,我们都会虚心学习并参考。
3. springcloud Alibaba 一站式解决方案!
目前.又提出了一种方案:
服务网格:下一代微服务标准, Server Mesh
代表解决方案: Istio 。(你们未来可能需要掌握!)
万变不离其宗.一通百通!
1. API 网关,服务路由
2. HTTP , RpC 框架,异步调用
3. 服务注册与发现,高可用
4. 熔断机制,服务降级
如果,你们基于这四个问题,开发一套解决方案,也叫 Springcloud !
为什么要解决这个问题?本质二网络是不可靠的!程序猿,不要停下学习的脚步!