集群与分布式的区别
什么是集群
集群就是单机的多实例,在多个服务器上部署多个服务,每个服务就是一个节点,部署N个节点,处理业务的能力就提升 N倍(大约),这些节点的集合就叫做集群。在服务器集群中,需要至少一台服务器充当调度者的角色,用户的所有请求都会首先由它接收,调度者再根据调度策略将请求分给集群服务器去处理。集群一般分为三种:负载均衡LB(Load Banlancing)、高可用性HA(High Availability)、高性能HP(High Performace),之后再写自己的见解。
什么是分布式
分布式就是将一个业务分拆成多个子业务,在多个服务器上部署不同的子业务,每个子业务都是能够独立运行的,可具体强化指定子业务的业务处理能力(给这个子业务搭建服务集群)。微服务(SOA)和 面向服务 都是典型的分布式架构。另外分布式架构与分布式部署是有区别的,分布式架构设计的软件不一定要去分布式部署,我也可以部署在一台服务器上。
下面上一张知乎大神“大闲人柴毛毛”画的神图:
补充说明个人见解:分布式应该是各子业务的前端与后端配合工作,各个子业务后端攻城狮开发放本子业务相关接口。
面向服务与微服务的区别
面向服务SOA
SOA(Service Oriented Architecture)的出现其实是为了解决历史问题:企业在信息化的过程中会有各种各样互相隔离的系统,需要有一种机制将他们整合起来。SOA初期的服务是很大的概念,通常指定的一个可以独立运作的系统,系统的分割粒度比较大,将一个子系统服务化。各个服务之间通过企业服务总线(ESB)相互通讯。
特点:大块业务逻辑,着重中央管理,确保应用能够交互操作。
微服务
微服务是在 SOA 上做的升华,微服务架构强调的一个重点是“业务需要彻底的组件化和服务化”,原有的单个业务系统会拆分为多个可以独立开发、设计、运行的小应用。这些小应用之间通过服务完成交互和集成。
特点:单独任务或小块业务逻辑,着重分散管理,能快速执行新功能、拓展开发团队。
下面是根据个人见解画了一张图:
完。