1、架构发展的历程从单体架构、分布式架构、SOA架构再到微服务架构,如下图
1.1 单体架构
单体架构可以理解成一个Java 应用程序,其包括了表现层、业务层、数据访问层等等,从Controller到service再到Dao,就是一个工程代码完成所有的事,没有任何的功能以及业务的拆分,开发到最后就演变成一个超级大的单体工程。
优点就是易开发,易部署,但缺点很多,例如性能差,改一个bug几乎就要动全身,难免会引发别的bug,而且后期维护难。
1.2 分布式架构
分布式架构就是按照业务来垂直拆分成一个个Java应用程序,各程序之间通过API调用。
1.3 SOA架构
SOA是一种面向服务的架构,其应用的不同组件通过网络通讯协议向其他组件提供服务或者消费服务,也是一种分布式架构,其中代表框架是阿里的dubbo,通过服务提供者向zookeeper注册其服务,服务消费者向zookeeper订阅服务而完成服务的调用。
1.4 微服务架构
微服务架构是SOA架构发展的下一步,微服务是一种架构风格,通过业务的类型或者功能划分出多个单独的微服务,微服务间都是松散耦合,通过各种远程协议进行同步/异步的通讯,每个微服务都是单独部署,扩容以及升级都是独立的,代表:springcloud