gpt4 book ai didi

linux - 需要澄清十二要素应用程序声明中的第八要素和守护进程

转载 作者:IT王子 更新时间:2023-10-29 00:51:11 27 4
gpt4 key购买 nike

我指的是可以在这里找到的十二因素应用程序“声明”:http://12factor.net

eighth factor ,作者写道:

Twelve-factor app processes should never daemonize or write PID files. Instead, rely on the operating system’s process manager (such as Upstart, a distributed process manager on a cloud platform, or a tool like Foreman in development) to manage output streams, respond to crashed processes, and handle user-initiated restarts and shutdowns.

我不确定“进程永远不应该守护进程”在这里是什么意思。

谁能解释一下守护进程的优缺点 - 特别是在 java 进程的上下文中?另外,守护进程不能由进程管理器管理吗?

最佳答案

如果一个进程 deamonized,这意味着它正在有效地尝试自行管理其生命周期。这对某些应用程序类型来说是好事,但对于分布式 Web 应用程序,也就是 12 要素声明所涉及的应用程序类型,这通常意味着麻烦。如果一个应用试图 self 管理,它可能不容易被外部流程管理器管理,或者在最好的情况下,这可能意味着需要这些管理器的自定义插件或扩展,这会使部署复杂化。

您想要对应用执行的操作以及守护进程可以阻止的操作的一个示例是自动缩放。使用 Mesos 等工具,你基本上想告诉系统:“这是我的 50 台机器,现在把我的应用程序放在这些机器上”。您不想手动管理去哪里,而是让集群管理器自动处理它。它可能会根据条件自动设置更多或更少的实例,例如您的系统接收到多少流量,它可以将多个实例放在一台机器上。如果应用程序试图 self 管理,它会干扰并使此类外部管理变得不可能或非常复杂。

关于linux - 需要澄清十二要素应用程序声明中的第八要素和守护进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28330757/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com