Skip to content

面试速答(先看这里)

**一句话结论:**在上一篇文章中,我们提到过『 在Serverless的架构思想中,没有应用程序的概念了,应用程序被分解为无状态的函数。

60秒标准回答:

在上一篇文章中,我们提到过『 在Serverless的架构思想中,没有应用程序的概念了,应用程序被分解为无状态的函数。 』

啥叫无状态?为啥说Serverless是无状态的?

无状态在计算机领域中经常能听到,比如我们会说HTTP是无状态的、Serverless 是无状态的,啥叫无状态?

**答题顺序:**结论 → 原理/机制 → 关键流程 → 场景与取舍 → 易错点

回答主线:

  • **要点1:**为啥说Serverless是无状态的?
  • **要点2:**无状态在计算机领域中经常能听到,比如我们会说HTTP是无状态的、Serverless 是无状态的,啥叫无状态?
  • **要点3:**所谓无状态,就是说 每次请求都是独立的,服务不会依赖之前的请求状态来处理当前请求。
  • **要点4:**Serverless架构是一种典型的 无状态架构 。
  • **要点5:**但是,这个无状态并不是说数据干脆都不落库、不存储了,不是的,只是说这个服务本身无状态,但是数据是存储在单独的持久化存储中的,比如 mysql,还是有状态的。

**记忆锚点:**Serverless → JVM → 据是存储在单独的持久化 → serverless → 要复杂的状态管理机制 → 于故障恢复和自动重试

易错提醒:

  • 如果你还是蒙,给你个最简单理解,本地缓存这玩意,在serverless 中是没有的,因为他要依赖 JVM 内存,而 JVM是每次都要重新启动的: 无状态的设计有几个优点: 易于水平扩展 :由于每个请求都是独立处理的,无状态服务可以更容易地进行水平扩展,即通过增加服务器实例来增加处理能力,而不需要考虑状态同步的问题。
  • 简化部署和管理 :无状态服务通常更容易部署和管理,因为它们不需要复杂的状态管理机制,也不需要为每个请求维护连接状态或会话状态。

追问准备:

  • 』 啥叫无状态?
  • 为啥说Serverless是无状态的? 无状态在计算机领域中经常能听到,比如我们会说HTTP是无状态的、Serverless 是无状态的,啥叫无状态?

典型回答 ​

📄 ✅什么是Serverless?

打开文档:✅什么是Serverless?

在上一篇文章中,我们提到过『在Serverless的架构思想中,没有应用程序的概念了,应用程序被分解为无状态的函数。』

啥叫无状态?为啥说Serverless是无状态的?

无状态 ​

无状态在计算机领域中经常能听到,比如我们会说HTTP是无状态的、Serverless 是无状态的,啥叫无状态?

所谓无状态,就是说每次请求都是独立的,服务不会依赖之前的请求状态来处理当前请求。

Serverless架构是一种典型的无状态架构。在Serverless中,应用程序的业务逻辑被分解为小型函数,这些函数在需要时被动态调用,调用完就被销毁了。下次再调用的时候再重新启动被调用。每次调用之间都没有什么依赖,因为它们依赖的根本都不存在了。

但是,这个无状态并不是说数据干脆都不落库、不存储了,不是的,只是说这个服务本身无状态,但是数据是存储在单独的持久化存储中的,比如 mysql,还是有状态的。

如果你还是蒙,给你个最简单理解,本地缓存这玩意,在serverless 中是没有的,因为他要依赖 JVM 内存,而 JVM是每次都要重新启动的:

📄 ✅为什么云原生对应用的启动速度要求很高?

打开文档:✅为什么云原生对应用的启动速度要求很高?

无状态的设计有几个优点:

  1. 易于水平扩展:由于每个请求都是独立处理的,无状态服务可以更容易地进行水平扩展,即通过增加服务器实例来增加处理能力,而不需要考虑状态同步的问题。

  2. 简化部署和管理:无状态服务通常更容易部署和管理,因为它们不需要复杂的状态管理机制,也不需要为每个请求维护连接状态或会话状态。

  3. 提高可靠性:无状态服务对于故障恢复和自动重试更有利,因为请求之间没有依赖关系或共享状态,一个请求的失败不会影响到其他请求。