概念
- 集群
集群是一种物理形态。它指同一个业务,部署在多个服务器上。当其中一台服务器宕机了,其它服务器可以顶上来。
- 分布式
分布式是一种工作方式。它指一个业务拆分为多个子业务,分别部署在不同服务器上。当其中一台服务器拓机了,那这个业务就不能访问了。
- 微服务
微服务是一种架构风格。它要求每个业务可独立部署、各个业务之间相互解耦。并不会因为某个业务的升级和Bug影响现有的系统业务。 分布式和微服务的区别
- 分布式一定属于微服务,微服务不一定是分布式。
- 微服务可以放在同一台服务器上,也可以放在不同服务器上。微服务是分布式更细粒度的垂直拆分。
总结
- 分布式是通过缩短单个任务的执行时间来提升效率。
- 集群是通过提高单位时间内执行的任务数来提升效率。
- 微服务是分布式更细粒化的垂直拆分(如:订单项目又可垂直拆分为商品模块,购物模块,结算模块,退款模块等)。
分布式实现方式
- 水平拆分
水平拆分是以业务领域为维度的拆分。 举例:"电商项目"="订单项目"+"商品项目"+"用户项目"
- 垂直拆分
垂直拆分主要是前后台逻辑拆分,业务逻辑和数据访问层拆分。举例:"项目三层结构"="表示层"+"业务层"+"数据访问层"
一阵狂风,一场暴雨,向日葵在风雨中摇摆,而它的头却时时刻刻朝着太阳。