在 Kubernetes 中,可以将应用程序分为有状态服务( Stateful Service )和无状态服务( Stateless Service ):
无状态服务是指不依赖于任何特定的状态或数据的服务。 每个请求都可以独立处理,不需要维持特定的会话状态。 无状态服务可以在集群中的任何节点上运行,因为它们不依赖于特定的状态或数据存储。 常见的无状态服务包括 Web 服务器、API 服务等。
有状态服务是指依赖于特定的状态或数据的服务。 服务的状态和数据需要持久化存储,并且需要与特定的 Pod 绑定。 每个 Pod 实例通常都有一个唯一的标识符,例如 Pod 名称或索引,用于维护其状态和数据。 部署有状态服务时,通常需要使用 StatefulSet 控制器,以确保 Pod 的唯一性和有序性。 常见的有状态服务包括数据库服务、消息队列服务等。
对于 WEB 服务器,不是也需要访问一样的存储卷吗比如静态资源需要存储?为什么说 WEB 可以是无状态服务?
意思是不是在不考虑返回的情况下,比如 WEB 服务器,对于每个独立的请求都可以返回值,只不过如果没有存储静态文件的话,返回的值可能不一样。但是对于数据库来说,每一个请求都需要数据存储,在没有数据存储的情况下就不能返回了,所以说他是有状态的?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.