项目类别差
集群
很多机器一起,干一样的事情,就是同样的系统,也就是服务,多部署几台,因为有些服务是经常被访问的,并发量大,我们就需要用到集群和负载均衡,去平衡一个集群下每一个机器的负载量
分布式
很多机器一起,干不一样的事,这些不一样的事,合起来就是一件大事,比如京东商城系统是很多个子系统(订单系统,用户系统,商品系统)组成的。这几个子系统的架构就是分布式
集群和分布式图解
架构演变
1.单体架构
优点
开发部署方便,小型项目首选
缺点
- 项目启动慢
- 可靠性差
- 可伸缩性差
- 拓展性和可维护性差
- 性能低
2.垂直架构
将单体架构中的多个模块拆分为多个独立的项目,形成多个独立的单体架构
问题
如果拆分了订单系统和商品系统,那都要用到用户模块,就需要重复的在两个系统中写用户模块的代码,重复功能太多
3.分布式架构
在垂直架构的基础上,将公共业务模块抽取出来,作为独立的服务,供其他调用者消费,以实现服务的共享和重用
问题
如果提供者端口改了,而也要修改全部的消费者,这就是一个很大的维护工程。也是一个很大的问题
4.SOA架构
消费者和提供者通过一个注册中心去统一管理,如果C发现了改变,只需要改注册中就行,而不需要改服务的消费者。
5.微服务
微服务的设计是为了不因为某个模块的升级和BUG影响现有的系统业务。微服务与分布式的细微差别是,微服务的应用不一定是分散在多个服务器上,他也可以是同一个服务器。分布式和微服的架构很相似,只是部署的方式不一样而已。
分布式是否属于微服务
答案是肯定的。微服务的意思也就是将模块拆分成一个独立的服务单元通过接口来实现数据的交互。