集群,分布式,微服务概念理解和区别

1.分布式与集群

集群是个物理形态,分布式是个工作方式。
  1. 分布式架构:多个子系统相互协作才能完成业务流程,系统之间需要进行通信。
  2. 集群:同一个工程部署到多台服务器上。
  3. 分布式架构优缺点:
  优点:
    1、把模块拆分,使用接口通信,降低模块之间的耦合度。
    2、把项目拆分成若干个子项目,不同的团队负责不同的子项目。
    3、增加功能时只需要再增加一个子项目,调用其他系统的接口就可以。
    4、可以灵活的进行分布式部署。
  缺点:
    1、系统之间交互需要使用远程通信,接口开发增加工作量。
    2、各个模块有一些通用的业务逻辑无法共用。
  分布式就是将一个系统拆分成多个子系统并分布到多个服务器上。
  分布式是指将不同的业务分布在不同的地方,而集群指的是将几台服务器集中在一起,实现同一业务。分布式的每一个节点,都完成不同的业务。分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。

2.微服务与分布式

微服务概念和分布式比较相似,微服务架构通常是分布式服务架构,反之则未必成立。选择微服务通常意味着需要解决分布式架构的各种难题。
  微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。
  微服务的意思也就是将模块拆分成一个独立的服务单元通过接口来实现数据的交互。微服务的设计是为了不因为某个模块的升级和BUG影响现有的系统业务。分布式和微服的架构很相似,只是部署的方式不一样,微服务与分布式的细微差别是:微服务的应用不一定是分散在多个服务器上,他也可以是同一个服务器。

3.微服务与SOA

与微服务处于一个层面的概念是SOA,SOA(Service Oriented Architecture,面向服务的架构)也是一种架构风格,SOA和微服务架构都是分布式架构的一种。
  SOA是一种设计方法,其中包含多个服务, 服务之间通过相互依赖最终提供一系列的功能。一个服务通常以独立的形式存在于操作系统进程中。各个服务之间通过网络调用。
  服务导向式架构(SOA)是集成多个较大组件(一般是应用)的一种机制,它们将整体构成一个彼此协作的套件。一般来说,每个组件会从始至终执行一块完整的业务逻辑,通常包括完成整体大action所需的各种具体任务与功能。组件一般都是松耦合的,但这并非SOA架构模式的要求。
  微服务架构与SOA 架构类似,微服务是在 SOA 上做的升华。微服务架构强调的一个重点是“业务需要彻底的组件化和服务化”,原有的单个业务系统会拆分为多个可以独立开发、设计、运行的小应用。这些小应用之间通过服务完成交互和集成。
  总结: 微服务架构 = 80%的SOA服务架构思想 + 100%的组件化架构思想 + 80%的领域建模思想。
  微服务和SOA区别:
    1. SOA:
       组件大小:大块业务逻辑,粗粒度。
       耦合度:通常松耦合。
       公司架构:适用于任何类型公司。
       管理:着重中央管理。
       目标:确保应用能够交互操作。
     2. 微服务:
       组件大小:单独任务或小块业务逻辑,细粒度。
       耦合度:总是松耦合。
       公司架构:适用于小型、专注于功能交叉团队。
       管理:着重分散管理。
       目标:执行新功能、快速拓展开发团队。

通俗来说,假设去大饭店吃饭就是一个完整的业务的话, 饭店的厨师、洗碗阿姨、服务员就是分布式; 厨师、洗碗阿姨和服务员都不止一个人,这就是集群; 分布式就是微服务的一种表现形式,分布式是部署层面,微服务是设计层面。

猜你喜欢

转载自blog.csdn.net/qianzhitu/article/details/108752741
今日推荐