无状态应用

是什么

无状态应用不会在应用所在的服务器上保存任何客户端会话(状态)数据。 每个会话都像第一次一样执行,响应不依赖于前一个会话的数据并提供使用打印服务、内容分发网络(CDN)或 Web 服务器的功能,以处理每个短期请求。 例如,有人在搜索引擎中搜索某个问题并按下了回车键。 如果搜索操作由于某种原因被中断或关闭,您必须重新开始一个新的,因为您之前的请求没有保存数据。

解决的问题

无状态应用解决了弹性问题,因为集群中的不同 Pod 可以独立工作, 同时允许多个请求到达这些 Pod。 如果应用出现故障,您只需重启应用,就能恢复到初始状态,停机时间很短或没有停机时间。 因此,无状态应用的好处包括坚韧、弹性和高可用性。 然而,我们今天使用的大多数应用至少总有一部分是有状态的, 因为它们会存储诸如偏好和设置之类的东西以改善用户体验。

如何帮助

归根结底,在无状态应用中集群唯一负责的是托管在其上的代码和其他静态内容。 就是这样,不更改数据库,没有写入,删除 Pod 时也没有留下文件。 无状态容器更易于部署,您无需担心如何将容器数据保存在持久存储卷上。 您也不必担心备份数据。


最后编辑 November 19, 2022: [zh] sync stateless-apps.md in Chinese (ced331b)