集中式框架、分布式框架和微服务概要:
在系统架构与设计的实践中,从宏观上可以总结为三个阶段:
- 集中式架构:就是把所有的功能、模块都集中到一个项目中,部署在一台服务器上,从而对外提供服务(单体架构、单体服务、单体应用);
直白一点:就是只有一个项目,只有一个war;
举例:
集中式项目:单体应用,只有一个war包
分布式项目:拆分,(项目→订单模块→用户模块等),模块化分布式应用
经典面试题:
分布式和微服务有什么区别?
分布式,是将一个巨大的系统划分成多个小模块,这点跟微服务是一样的,都是将系统进行拆分,部署到不同的机器上。
本质区别:目标不同!
分布式目标:访问量太大一台服务器承受不了,或者成本问题,不得不使用多台服务器来完成服务的部署!
微服务目标:只是将各个模块拆分开来,不会相互受影响,比如模块的升级或者出现BUG或者重构等等等等都不要影响到其他模块。
注意:
- 微服务也可以在一台机器上部署。
- 分布式也是微服务的一种,微服务也属于分布式。
微服务与Spring-Cloud 的关系或区别?
微服务只是一种项目的架构方法、架构理念,或者说是一种概念,就如同我们的MVC架构一样,那么Spring Cloud 便是对这种架构方法的技术实现。
微服务一定要使用Spring Cloud吗?
微服务只是一种项目的架构方式、架构理念,所以任何技术都可以实现这种架构理念,只是微服务架构里面有很多问题需要我们去解决,比如:负载均衡,服务的注册与发现,服务调用,服务路由,服务熔断等等一系列问题,Spring Cloud 帮我们做了这些事情,Spring Cloud将处理这些问题的的技术全部打包好了。