三层架构 +MVC
架构---》解耦
开发框架
Spring
IOC AOP
IOC :控制翻转
约泡:
泡温泉 ,泡茶 ,泡友
附近的人,打招呼。加微信,聊天,天天聊,--》约泡
浴池(容器): 温泉,茶庄,泡友
直接进温泉,就会有相应的好友跟你一起!
原先是需要通过自己一步步进行操作,现在交给了容器!需要什么就去拿即可! new IOC容器,get调用方法
**AOP :切面(本质,动态代理)**
为了解决什么? 不影响业务本来的情况下,实现动态增加功能,大量应用在日志,事务..等方面!
Spring是一个轻量级的Java开源框架,容器
目的:解决企业开业的复杂问题
spring是春天,觉得他是春天,也十分复杂,配置文件!!!
** Spring Boot**
SpringBoot并不是新东西,就是Spring的升级版!!
新一代JavaEE的开发标准,开箱即用!
自动配置,
特性:约定大于配置!!
随着公司体系越来越多,用户越来越多!
微服务架构的兴起
微服务架构--》新架构
模块化,功能化!!
用户,支付,签到,娱乐,。。。。。。!
人多余多:一台服务器解决不了,在增加服务器! 横向
假设A服务器占用98%资源,B服务器只占用了10%、--负载均衡;
将原来的整体项目,分成模块化,用户就是一个单独的项目,签到也是一个单独的项目,项目和项目之前需要通信,如何通信?
假如 用户非常多,而签到十分少!。给用户多一点服务器,给签到少一点服务器 !
微服务架构问题?
分布式架构会遇到得到四个核心问题?
- 这么多服务,客户端如何去访问?
- 这么多服务,服务之间如何进行通信?
- 这么多服务,如何治理呢?
- 服务挂了,怎么办?
解决方案:
SpringCloud,是一套生态,就是用来解决以上分布式架构的4个问题
想使用SpringCloud,必须要掌握SpringBoot,因为SpringCloud是基于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
3.SpringCloud Alibaba 一站式解决方案!
服务网格:下一代微服务标准,Service Mesh
代表解决方案:istio
万变不离其中,一通百通!
1 .API网关,服务路由
2.HTTP,RPC框架,异步调用
3.服务注册与发现,高可用
4.熔断机制,服务降级