面试题-集群、分布式和微服务

基本概念

集群,分布式

  • 分布式:一个业务分拆多个子业务,部署在不同的服务器上
  • 集群:同一个业务,部署在多个服务器上

微服务

微服务架构是一项在云中部署应用和服务的新技术。

 

区别

从概念理解,分布式服务架构强调的是服务化以及服务的分散化,微服务则更强调服务的专业化和精细分工;从实践的角度来看,微服务架构通常是分布式服务架构,反之则未必成立。所以,选择微服务通常意味着需要解决分布式架构的各种难题。

分布式的每一个节点,都完成不同的业务,一个节点垮了,那这个业务就不可访问了。

微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。

分布式

分布式服务是指将多台服务器集中在一起,服务是分散部署在不同的机器上的。每台服务器都实现总体中的不同业务,做不同的事情。一个服务可能负责几个功能,是一种面向 SOA 的架构。各分开部署的部分彼此通过各种通讯协议交互信息,并且每台服务器都缺一不可,如果某台服务器故障,则部分功能缺失,或导致整体无法运行。

分布式存在的主要作用是大幅度的提高效率,缓解服务器的访问和存储压力。区别分布式的方式是一个业务分拆多个子业务,部署在不同的服务器上。

例如:将一个大的系统划分为多个业务模块,业务模块分别部署到不同的机器上,各个业务模块之间通过接口进行数据交互。Service A、B、C、D 分别是业务组件,通过 API Geteway 进行业务访问。

面试题-集群、分布式和微服务_第1张图片

微服务

微服务的概念和分布式比较相似,微服务是一种架构风格。简单来说微服务就是很小的服务,小到一个服务只对应一个单一的功能。每个微服务仅关注于完成一件任务并很好地完成该任务,这个服务可以单独部署运行。 各个微服务之间是松耦合的,服务之间可以通过 RPC 来相互交互。每个微服务都是由独立的小团队开发、测试、部署,上线,负责它的整个生命周期。

面试题-集群、分布式和微服务_第2张图片

分布式是否属于微服务?

不一定,如果一个很大应用,拆分成三个应用,但还是很庞大,虽然分布式了,但不是微服务。。微服务核心要素是微小。。

微服务架构是分布式服务架构的子集。

微服务架构通过更细粒度的服务切分,使得整个系统的迭代速度并行程度更高,但是运维的复杂度和性能会随着服务的粒度更细而增加。

微服务重在解耦合,使每个模块都独立。分布式重在资源共享与加快计算机计算速度。

 

参考链接:https://cloud.tencent.com/developer/article/1441450

 

 

 

你可能感兴趣的:(面试题)