今天这篇博客,主要说说spring,springboot,springcloud这三者都是干嘛的?
相关的视频资源:https://www.bilibili.com/video/BV1XQ4y1m7ex
架构 > 解偶
开发框架 spring
IOC AOP
Ioc :控制反转
原来我们都是自己一步步操作,现在交给容器了!我们需要什么就去拿就可以了
Aop :切面(本质,动态代理)
为了解决什么?不影响业务本来的情况下,实现动态增加功能,大量应用在日志,事务 … 等等方面
spring 是一个轻量级的java开源框架,容器目的:解决企业开发的复杂性问题 spring 是春天,觉得他是春天,也十分复杂,配置文件!
SpringBoot
SpringBoot 并不是新东西,就是spring的升级版!
新一代JavaEE的开发标准,开箱即用!一>拿过来就可以用!
它自动帮我们配置了非常多的东西,我们拿来即用!
特性:约定大于配置!
随着公司体系越来越大,用户越来越多!
微服务架构-一>新架构
模块化.功能化!
用户,支付,签到,娱乐 … ;
人多余多:一台服务器解决不了;在增加服务器!横向
假设A服务器占用 98 %资源, B 服务器只占用了 10 %。--负载均衡
将原来的整体项目.分成模块化.用户就是,个单独的项目.签到也是一个单独的项目,项目和项目之前需要通信,如何通信
用户非常多,而签到十分少!给用户多一点服务器,给签到少一点服务器
微服务架构问题?
分布式架构会遇到的四个核心问题?
1.这么多服务,客户端该如何去访问?
2.这么多服务.服务之间如何进行通信?
3.这么多服务.如何治理呢?
4.服务挂了.怎么办?
解决方案:
spring cloud,是一套生态,就是来解决以上分布式架构的 4个问题想使用 Spring cloud ,必须要掌握 SpringBoot,
因为 Spring cloud 是基于 springBoot。
1. Spring cloud NetFlix 出来了一套解决方案!一站式解决方案.我们都可以直接去这里拿?
- Api 网关, zuul 组件
- Feign 一> Httpclient --- HTTP的通信方式 同步并阻塞
- 服务注册与发现Eureka
- 熔断机制, Hystrix
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 !
为什么要解决这个问题?本质二网络是不可靠的!程序猿,不要停下学习的脚步!