总结
架构是用来解耦的(三层架构+MVC)
开发框架
-
Spring
- IOC:控制反转(把所有的创建都叫到了容器里,集中管理了起来。)
- AOP:切面(本质是动态代理,在不影响业务的情况下,实现动态的增加功能、)
Spring是一个轻量级的Java开源框架,容器
其目的是为了解决开发的复杂性问题
-
SpringBoot
SpringBoot就是Spring的升级版,是新一代的JavaEE的开发标准,开箱既用!(拿过来就用)
它帮助我们自动配置了很多东西,脱离了配置地狱的时代。特性:约定大于配置
-
微服务架构(新架构)
模块化,功能化。(访问人数多,一台服务器解决不了,可以增加服务器。需要用负载均衡,让服务器占用均衡)
将原来的额整体项目,分成模块化,用户就是一个单独的项目。
-
微服务架构的问题?
- 这么多服务,客户端如何去访问?
- 这么多服务,服务之间如何进行通信?
- 这么多服务,如何治理?
- 如果服务挂了,怎么处理?
-
微服务架构的解决方案。
必须要掌握SpringBoot才能使用SpringCloud,因为SpringCloud是基于SpringBoot的
-
SpringCloud 是一套生态,就是来解决以上分布式架构的4个问题
- Api网关,zuul组件
- Feign --> HttpClient -->Http通信方式/同步并阻塞
- 服务注册与发现,Eureka
- 熔断机制,Hystrix
已停更。【一个生态停更,会脱节,产生安全的问题】
-
Apache Dubbo zookeeper 第二套解决以上分布式架构的4个问题
- Api 没有,要么找第三方组件,要么自己实现。
- Dubbo,是高性能的基于Java实现的 RPC通信框架
- 服务注册与发现,第三方:zookeeper(动物管理者)
- 熔断机制:没有,借助了 Hystrix
不完善。
-
SpringCloud Alibaba 一站式解决方案
-
目前有提升出了一种新的解决方案
服务网格,微服务标准
Server Mesh 代表解决方案:istio
万变不离其宗,一通百通!都是为了解决此问题。
- Api网关,服务路由
- HTTP,RPC框架,异步调用
- 服务注册与发现,高可用
- 熔断机制,服务降级
为什么要解决这些问题?
因为网络是不可靠的!
-
2万+

被折叠的 条评论
为什么被折叠?



