三层架构 + MVC
架构 —> 解耦
开发框架
Spring
IOC AOP
IOC:控制翻转
约泡:
泡温泉,泡茶…泡友
附近的人,打招呼,加微信,聊天,天天聊,—>约泡
浴场(容器):温泉,茶庄,泡友
直接进温泉,就有人,和你一起了!
原来我们都是自己一步一步操作,现在交给容器了!我们需要什么自己去拿就可以了
AOP:切面(本质,动态代理)
为了解决什么?不影响业务本来的情况下,实现动态增加功能,大量应用在日志,事务,等方面
Spring是一个轻量级的JAVA开源框架,容器
目的:解决企业开发的复杂性
Spring是春天,觉得他是春天,也十分复杂,配置文件
SpringBoot
SpringBoot并不是新东西,就是Spring的升级版!
新一代JAVAEE?的开发标椎,开箱即用!->拿过来就可以用!
它帮我们配置了非常多的东西,我们拿来即用!
特性:约定大于配置!
随着公司体系越来越大,用户越来越多
微服务架构—>新架构
模块化, 新功能!
用户,支付,签到,娱乐…;
人多余多:一台服务器解决不了:在增加服务器!横向
假设服务器占用98%资源,B服务器只占用了10% --负载均衡
将原来的整体项目,分为模块化!用户就是一个单独的项目,签到也是一个单独的项目,项目和项目之间需要通信,如何通信?
用户非常多,而签到非常少!给用户多一点服务器,给签到少一点服务器!
微服务架构问题?
分布式架构会遇到的四个核心问题?
1.这么多服务,客户端该如何去访问?
2.这么多服务,服务之间如何进行通信?
3.这么多服务,如何治理呢?
4.服务挂了,怎么办
解决方案:
Spring是一套生态,就是来解决以上分布式架构的4个问题
想使用SpringCloud,必须要掌握SpringBoot,因为SpringCloud是基于SpringBoot;
1.SpringCloud NetFlix ,出来了一套解决方案!一站式解决方案.我们都可以直接去这里拿?
Api网关 , zuul组件
Feign --> HttpClient --> HTTP的通信方式,同步并阻塞
服务注册于发现,Eureka
熔断机制,Hystrix
2018年年的 NetFlix宣布无限期停止维护.生态不在维护,就会脱节
2.Apache Bubbo zookeeper,第二套解决系统
API:没有!要么找第三方组件,要么自己实现
Dubbo是一个高性能的基于JAVA实现的 RPC通信框架! 2.6x
服务注册与发现,zookeeper:动物园管理者 (Hadoop,Hive)没有;没有借助Hystrix
不完善,Dubbo
3.SpringCloud Alibaba 一站式解决方案
目前,又提出了一种方案
服务网格:下一代服务标准,Server Mesh
代表解决方案:istio (未来可能要掌握的技术!)
万变不离其宗,一通百通
1.API网关,服务路由
2.HTTP,RPC框架,异步调用
3.服务注册与发现,高可用
4.熔断机制,服务降级
如果,我们基于这四个问题,开发一套解决方案,也叫SpringCloud!
为什么要解决这个问题? 本质:网络是不可靠的
程序员,不要停下学习的脚步!
笔记整理不易! 请关注!支持!加点赞!一同学习吧!