啥是无状态的Serverless

简介: 无状态是指每次请求独立,不依赖之前的状态。Serverless架构将业务逻辑分解为动态调用的小型函数,实现无状态处理。数据则存储在持久化存储中。这种设计易于水平扩展、简化部署管理和提高可靠性,因无需考虑状态同步问题,故障恢复也更为高效。

无状态

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

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

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

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

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

无状态的设计有几个优点

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

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

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

相关实践学习
【玩转ComfyUI】基于函数计算一键部署AI生图平台ComfyUI
本次实验将带大家通过使用阿里云产品函数计算FC,快速使用ComfyUI实现更高质量的图像生成。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
|
消息中间件 存储 NoSQL
深入Redis消息队列:Pub/Sub和Stream的对决【redis第六部分】
深入Redis消息队列:Pub/Sub和Stream的对决【redis第六部分】
1427 0
|
安全 Linux Shell
structure needs cleaning结构需要清理解决方案
structure needs cleaning结构需要清理解决方案
5535 0
|
Ubuntu Windows
双系统必备:Ubuntu自动挂载Windows分区
在双系统环境下,手动挂载Windows硬盘十分繁琐。本文介绍如何配置Ubuntu开机自动挂载Windows硬盘,包括硬盘识别、挂载点创建、fstab配置及验证步骤,帮助您节省时间,实现高效操作。
1020 1
|
运维 监控 负载均衡
深入理解无服务器架构:优势与挑战
【10月更文挑战第6天】深入理解无服务器架构:优势与挑战
|
人工智能 程序员 iOS开发
一文彻底拿下HarmonyOS NEXT开发实战调试技巧
这是一篇关于HarmonyOS NEXT开发调试技巧的文章,作者是一名经验丰富的程序员Feri。内容涵盖三种调试方法:预览+日志方式(适合简单调试,需注意数据类型转换)、断点调试(详细介绍了设置步骤与功能键使用)以及hilog实战使用(日志打印限制为4096字节,推荐封装维护)。通过这些技巧,帮助开发者更高效地解决问题,提升编程能力。
633 14
一文彻底拿下HarmonyOS NEXT开发实战调试技巧
|
Java Linux 网络安全
基于云服务器的数仓搭建-服务器配置
本文介绍了购置并配置三台云服务器的详细步骤。使用FinalShell连接服务器,并安装了必要的工具如epel-release、net-tools和vim。关闭防火墙后,在/opt目录下创建module和software文件夹,卸载默认JDK并修改主机名。添加环境变量路径/home/alpfree/bin,编写集群分发脚本xsync实现文件同步,配置无密登录,安装并分发JDK。参考资料来自海波老师的电商数仓课程。
|
关系型数据库 MySQL Linux
Linux 安装 mysql 【使用 tar.gz | tar.xz安装包-离线安装】
在Linux系统中使用tar.xz压缩包安装MySQL数据库的详细步骤。包括下载MySQL压缩包,解压到指定目录,创建mysql用户和组,设置目录权限,初始化MySQL,配置my.cnf文件,启动服务,以及修改root用户密码。此外,还提供了如何设置Windows远程登录MySQL服务器的方法。
Linux 安装 mysql 【使用 tar.gz | tar.xz安装包-离线安装】
|
存储 SQL 容灾
PolarDB-X 存储引擎核心技术 | Paxos多副本
PolarDB-X作为PolarDB分布式版,是阿里巴巴自主设计研发的高性能云原生分布式数据库产品,为用户提供高吞吐、大存储、低延时、易扩展和超高可用的云时代数据库服务。PolarDB-X在架构上可以简单分为CN节点和DN节点。计算节点CN负责SQL的解析和执行,存储节点DN负责数据的分布式事务和高可用存储。本文主要对存储引擎核心中高可用部分详细技术解读。
|
Dart 开发工具 Android开发
快速集成 Flutter Shorebird 热更新
Flutter Shorebird 是一种云端代码推送服务,可以让开发者在几分钟内集成,无需修改代码即可将更新推送到任何 Dart 代码,支持所有 Android 和 iOS 设备,并符合 App Store 和 Play Store 的规定。Shorebird 最大的优点是无代码侵入,快速集成,设计优秀。
1323 2
快速集成 Flutter Shorebird 热更新
|
存储 SQL 关系型数据库
OceanBase与MySQL有何区别?
【8月更文挑战第12天】OceanBase与MySQL有何区别?
4433 3