spring mvc 主要是用作IOC 容器 框架还是传统三层架构
1.容器 依赖注入 CDI
传统web是由beanmanager管理bean的依赖和注入,beanfactory管理bean的创建,以消息进行驱动(HttpSessionListener等) 由框架自行管理
2.IOC 控制反转
bean的创建由开发人员自己处理,通过自动装配实现依赖注入。(starter组件 或者 @config类)
spring boot 轻量级web程序,内置了web容器,(starter-web 启动内置tomcat) 或者通过依赖其他starter组件启动其他容器,比如netty等。
他主要是剥离了view层,新增了controller层(原view层),单一化web程序。
springcloud 微服务架构
分为配置中心、注册中心、网关以及其他业务服务
配置中心职责是统一配置各个环境的配置,通过ResetFul API管理;服务只读,运维管理
注册中心职责是1.注册服务 2.根据服务名获取服务列表 3.监控服务状态 (心跳包检测)
网关(主要是对外的)职责是1.资源权限认证 2.服务路由 3.异常封装(服务不可用的时候,给予一个可接受的反馈)
业务服务职责1.业务逻辑处理 2.数据的封装
组件:
1.netflix-eureka-server 注册中心 (也有zookeeper、nacos等)不同组件CAP不一样。(nacos是注册中心+配置中心)
2.netflix-eureka-client 注册中心客户服务 主要是其他非注册中心服务用
3.安全组件security、shio、authority等,主要网关或者对外系统的接口服务用,
4.路由组件netflix-ribbon 负载均衡
5.openfeign-core 服务间接口的调用 fallback fallbackfactory