Spring
目的:解决企业级应用开发的复杂性,即简化开发、
如何实现:
1.基于POJO的轻量级和最小入侵式编程即不改变原来代码的场景下进行扩展。
2.通过IOC,(依赖注入)DI实现松耦合。
3.基于AOP(切面)和惯例进行声明式编程。
4.通过切面和模板减少代码样式。
核心思想:IOC和AOP思想。
Springboot
目的:简化开发。
如何实现:
默认帮我们进行了很多设置,多数应用只需要配置一些关键的信息。
核心思想:约定大于配置。
微服务
讲到微服务架构,就得讲讲单体应用架构(all in one)
单体应用架构:将所有的服务都放在一应用当中。
优点:易于开发、测试、方便部署。需要扩展时,只需要放在不同的服务器上,做个负载均衡即可(水平扩展)。
缺点:不方便维护,如果要修改一个地方就得把整个应用停掉,重新打包,然后部署。
微服务就是为了解决这个问题产生的架构。
微服务:将应用的功能进行拆分,拆分成一个微小的服务,从而降低耦合。这些功能共同构建出这一整个应用系统。
优点:如果修改其中一个功能,只需要更新其中一个服务单元即可,不需要停掉整个应用。
分布式:是对微服务架构的具体实现。