首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么工作节点不能容错?

为什么工作节点不能容错?
EN

Unix & Linux用户
提问于 2019-09-08 19:49:03
回答 2查看 159关注 0票数 0

群集管理器节点处理集群管理任务,如:

1)保持集群状态

2)调度服务

3)服务群模式HTTP端点

您可以从任何管理器节点执行任何- docker swarm - docker node - docker service命令。

应用程序运行在工作节点上,但它们不具有容错能力。因为工作节点不具有容错能力。

这意味着,如果一个工作节点发生故障,那么管理器将启动另一个工作节点。

群集群设计迫使开发人员设计运行在worker节点上的无状态应用程序。

容错在经理级别保持,以了解集群的状态。

为什么在管理节点中容错,而在工作节点中不容错?

EN

回答 2

Unix & Linux用户

发布于 2019-09-08 22:27:57

单个管理器节点不具有容错性。毕竟,它只是一台机器(虚拟的或物理的)。这就是为什么您有多个管理人员,他们共享国家。如果一个管理器出现故障,其余的管理器将使集群继续运行。

类似地,单个工作节点不具有容错性。毕竟,这只是一台机器。那么,如果硬盘出现故障会发生什么呢?这意味着机器上的任何状态都将丢失。这就是为什么您通常在群中运行应用程序的多个实例,或者使用复制的状态存储(这实际上是管理器节点所做的),或者在群集之外维护状态。

您可能还想看看"12要素“应用程序设计,这将使这些概念更进一步。

票数 1
EN

Unix & Linux用户

发布于 2019-09-08 23:14:48

历史上,他们试图..。有些web服务器作为集群运行,您可以在它们上运行有状态的应用程序。但从个人经验来看,这些服务器很难配置成正常工作,而且由于集群不透明,但充其量是半透明的,应用程序代码仍必须在某种程度上具有集群意识,因此,要使应用程序在这些系统上正确运行,就需要熟练的程序员。还有一些限制(集群中服务器的邻近,等等)。

"Docker方式“更明确,但也更易于向程序员解释,并且限制较少(编程语言、所有节点的物理位置等)。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/539689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档