发展历程

三层架构 +MVC

架构--->解耦

开发框架

Spring:

  • IOC(控制反转):原来我们都是自己一步一步操作,现在交给容器了,我们需要什么就去拿。
  • AOP(面向切面):本质-动态代理,在不影响原本业务的情况下,实现动态增加功能,大量应用在日志,事务等方面。

SpringBoot

  • 并不是什么新东西,就是spring的升级版。
  • 新一代javaEE的开发标准,开箱即用,有很多start启动器。
  • 它自动帮我们配置了很多东西。
  • 特性:预定大于配置

微服务架构

模块化,功能化

  • 例如:用户,支付,签到,娱乐。。。。。
  • 一台服务器解决不了,再增加服务器(横向
  • 假设A服务器占用了98%的资源,而B服务器只占了10%,----负载均衡
  • 将原来的整体项目,分成模块化,用户就是一个单独的项目签到,也是一个单独的项目,项目和项目之间如何通信?
  • 用户非常多,而签到非常少,给用户多一点服务器,给签到少一点服务器。

微服务架构问题
分布式架构会遇到的4个核心问题:

  1. 这么多服务,客户端该如何去访问?
  2. 这么多服务,服务之间如何进行通信?
  3. 这么多服务,该如何治理
  4. 服务挂了怎么办?

解决方案
SpringCloud, 是一套生态,就是来解决以上分布式架构的4个问题,想使用SpringCloud的,必须要掌握spring boot,因为SpringBoot是基础。

  1. Spring Cloud NetFlix ,出来了一套解决方案,一站式解决方案
  • Api网关 zuul组件
  • feign-->HttpClient-->Http的通信方式,同步并阻塞
  • 服务注册与发现,Eureka
  • 熔断机制 Hystrix
  • 2018年底,NetFlix停止维护。
  1. Apach Dubbo Zookeeper,第二套解决方案
    API:没有,找第三方组件,或者自己实现
    Dubbo
    Zookeeper
    借助Hystrix

  2. Spring Cloud Alibaba 一站式解决方案,更简单

新概念:服务网格~ Server Mesh
万变不离其宗
4. API
5. HTTP,RPC
6. 注册和发现
7. 熔断机制
8. 网络不可靠

你可能感兴趣的:(Spring全家桶)