cdn 是什么?
内容分发网络,Content Delivery Network
介绍
CDN(Content Delivery Network)是一种将内容分发到靠近用户的边缘服务器,以加速访问速度、减少延迟、降低源站压力的网络系统。
CDN 把网站的静态资源(如 HTML、JS、CSS、图片、视频等)缓存在全球各地的边缘节点服务器上,用户访问内容时,不再请求源站服务器,而是就近从边缘节点获取资源,实现更快加载。
- 图片、视频、CSS、JS、网页
- 文件下载、直播流媒体、API 返回结果(某些场景下)
- 用户请求某个资源(如图片);
- CDN 检查边缘节点是否缓存该资源;
- ✅ 有缓存:直接返回,快速响应;
- ❌ 无缓存:从源站拉取,缓存到节点,再返回用户;
- 下一次访问时,就可以直接命中缓存。
✅ CDN 的优势
优势 | 描述 |
---|---|
🚀 提升访问速度 | 用户从“就近”节点加载内容,减少跨区域传输延迟 |
🔥 降低服务器压力 | 静态内容从 CDN 返回,源站只需处理动态内容或首次请求 |
🌎 支持全球加速 | 用户身处世界任何地方都可获得类似体验(特别适合海外业务) |
🛡️ 提升可用性 | 某节点宕机时可自动切换其他节点,提高业务稳定性 |
⚔️ 抗流量攻击 | 能吸收大量请求流量,减缓 DDoS、CC 攻击压力 |
💰 降低带宽成本 | 部分 CDN 服务提供按量计费,能减少源站出流量费用 |
📚 应用场景举例
场景 | 描述 |
---|---|
网站加速 | 静态网页、图片、视频 |
App 更新 | CDN 分发安装包,提升下载速度 |
视频直播 | CDN 流媒体边缘推流分发 |
电商秒杀 | 减轻源站压力,提升并发能力 |
API 接口缓存 | 针对频繁请求、可缓存的 GET 接口 |
CDN 是“加速器”,不存储源数据本身,它与对象存储(如腾讯 COS、阿里 OSS)常常一起搭配使用:
- COS 提供原始数据存储;
- CDN 分发这些数据到边缘节点;
- 组合后即可实现全球访问加速 + 自动缓存更新。
cdn 文件响应头
这里 以腾讯云cos 和 jsdeliver 为例
jsDelivr cdn
jsDelivr 提供 全球加速的静态资源访问服务。
jsDelivr 会将这个文件:
- 首次请求:从 GitHub 拉取源文件;
- 后续请求:自动缓存到全球 CDN 节点;
- 用户访问时:从离用户最近的边缘节点返回,加快加载速度。
以这个jsDelivr链接为例:
curl 'https://cdn.jsdelivr.net/gh/jacinli/image-hosting@main/notes/20250413225016817.png' \-H 'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7' \-H 'accept-language: en,en-US;q=0.9' \-H 'cache-control: no-cache' \-H 'pragma: no-cache' \-H 'priority: u=0, i' \-H 'sec-ch-ua: "Chromium";v="136", "Google Chrome";v="136", "Not.A/Brand";v="99"' \-H 'sec-ch-ua-mobile: ?0' \-H 'sec-ch-ua-platform: "macOS"' \-H 'sec-fetch-dest: document' \-H 'sec-fetch-mode: navigate' \-H 'sec-fetch-site: none' \-H 'sec-fetch-user: ?1' \-H 'upgrade-insecure-requests: 1' \-H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36'
📦 基础字段(HTTP 通用响应头)
响应头键 | 含义 |
---|---|
content-type: image/png | 响应内容是 PNG 图片 |
content-length: 618053 | 响应内容大小为 618,053 字节(约 600 KB) |
date: Sat, 10 May 2025 14:26:31 GMT | 服务器返回的时间戳(UTC) |
etag: W/“96e45-…” | 响应内容的实体标签(用于缓存判断是否更新)资源的唯一标识值,用于缓存对比 |
vary: Accept-Encoding | 告诉缓存系统:是否使用 gzip、br 等编码决定缓存内容是否相同 |
🚀 CDN & 缓存相关字段
字段 | 含义 |
---|---|
cache-control: public, max-age=604800, s-maxage=43200 | 指定缓存策略:浏览器可缓存 7 天(604800 秒),CDN 节点缓存 12 小时(s-maxage) |
age: 5 | 表示缓存内容已经存在 CDN 中 5 秒 |
x-cache: HIT, HIT | 告诉你:CDN 命中了缓存,未从源站请求内容, |
x-served-by: cache-fra-etou8220102-FRA, cache-hkg17921-HKG | 表示响应经过的两个 CDN 边缘节点(法兰克福 + 香港) |
腾讯云cdn
腾讯云配置 cdn 一般是需要自己配域名的,然后用来挂载自己的 cos链接的
字段 | 含义 |
---|---|
cache-control: max-age=7776000 | 缓存时间 7776000 秒(90 天)——说明 CDN 会强缓存 90 天 |
x-cache-lookup: Cache Hit / Cache Miss | 有两个值说明这可能是多级 CDN 或 COS 回源结构:• 上层节点命中缓存(HIT)• 下层请求了源站或缓存层(MISS) |
accept-ranges: bytes | 支持断点续传(可用于视频分段加载) |
• 支持断点续传(适用于视频/大图) | |
Cloudflare R2
cloudfare cdn 流程:
Cloudflare R2 本身就天然接入了 Cloudflare 的 CDN 网络,不需要单独设置 CDN
✅ 你上传到 R2 的内容,默认就是通过 Cloudflare 的全球 CDN 节点进行分发的。
R2 = 对象存储(兼容 S3 协议) + 自动启用 CDN 加速(通过 Workers 或默认路由)
✅ 1. R2 是什么?
- 是 Cloudflare 推出的 S3 兼容对象存储;
- 不收出口流量费(Egress FREE);
- 可以通过 自定义域名 / Worker / Access Policy 接入访问控制。
它实际上就走了 Cloudflare 的边缘节点,也就是 CDN 网络:
- ✔ 自动分发到全球;
- ✔ 支持 HTTP 缓存、CDN 命中、Range 支持;
- ✔ 可通过自定义域名 + Cache Rule 优化命中率。
字段 | 含义 / CDN 作用 |
---|---|
cf-cache-status: MISS | 👉 表示本次请求未命中 CDN 缓存(首次访问),但 Cloudflare 已参与缓存判断;若是 HIT 就表示直接命中 CDN 缓存返回 |
cf-ray: 93da82da88cbe2e1-HKG | 👉 Cloudflare 的请求追踪 ID,-HKG 表示处理请求的边缘节点位于香港 |
server: cloudflare | 👉 响应是由 Cloudflare 边缘服务器返回的 |
alt-svc: h3=“:443”; ma=86400 | 👉 表示支持 HTTP/3 加速协议(CDN 常见优化) |
cache-control: max-age=14400 | 👉 表示内容在缓存层/浏览器中可缓存 4 小时,CDN 会基于它判断是否存储副本 |
accept-ranges: bytes | 👉 表示支持断点续传(CDN 文件分段加速的基础能力) |
- ✅ cf-cache-status: HIT | MISS | EXPIRED → 说明 Cloudflare CDN 有参与缓存;
cos响应为 cdn 链接
实际开发中,数据库通常存的是 COS(源站)链接,但对外展示(给前端或用户访问)时返回的是经过 CDN 加速的链接
因为:
- COS 链接带签名、私密、可控;
- CDN 链接更快、可缓存、抗压;
- 数据库只负责存“原始资源路径”,不应该与 CDN 地址耦合。
后端中间层封装
最常见也是最灵活的做法 —— 所有涉及到链接返回的地方,统一拼接成 CDN 地址:
CDN_PREFIX = "https://cdn.xxx.com"def build_cdn_url(cos_url: str):# 假设数据库只存 `/upload/image.jpg`return f"{CDN_PREFIX}{cos_url}"
✅ 实施位置:
- ✅ 后端返回接口统一封装
- ✅ 或放到 FastAPI/Django 的 Response Model 里 @property 字
- ✅ 或者放到序列化器、DTO、装饰器里统一转换
更推荐的做法是:在后端控制层封装返回 URL 的逻辑,避免在网关“篡改响应”!!!!
相关文章:
cdn 是什么?
内容分发网络,Content Delivery Network 介绍 CDN(Content Delivery Network)是一种将内容分发到靠近用户的边缘服务器,以加速访问速度、减少延迟、降低源站压力的网络系统。 CDN 把网站的静态资源(如 HTML、JS、CSS、…...
ENSP三层交换机实验原理及过程
华为eNSP(Enterprise Network Simulation Platform)是一款网络仿真工具,用于模拟华为网络设备的配置和操作。在三层交换机实验中,主要涉及三层交换机的路由功能、VLAN间通信、静态路由、动态路由协议(如OSPF、RIP&…...
RK3568-OpenHarmony(1) : OpenHarmony 5.1的编译
概述: 本文主要描述了,如何在ubuntu-20.04操作系统上,编译RK3568平台的OpenHarmony 5.1版本。 搭建编译环境 a. 安装软件包 sudo apt-get install git-lfs ruby genext2fs build-essential git curl libncurses5-dev libncursesw5-dev openjdk-11-jd…...
动态路由EIGRP的配置
动态路由EIGRP的配置 动态路由EIGRP:增强内部网关协议 为何收敛快、不成环? 路由计算的无环路和路由的收敛速度是路由计算的重要指标。EIGRP协议由于使用了DUAL算法,使得EIGRP协议在路由计算中不可能有环路路由产生,同时路由计…...
Paging 3.0 + Kotlin 分页加载指南
Paging 3.0 是 Android Jetpack 组件中用于高效分页加载数据的现代化方案,结合 Kotlin 协程和 Flow 特性,能够显著简化分页逻辑的实现。以下是完整的实现指南和最佳实践: 一、Paging 3.0 核心优势 内置加载状态管理:自动跟踪加载…...
湖南(源点咨询)市场调研 商业综合体定位调研分享(下篇)
接着中篇,我们就要重点分析一下该地区消费者的特点: 综合来看,本地区还是以中等收入工薪阶层的新市民家庭为主,以亲子关系为家庭核心,居住条件改善、生活向好,渴望公共配套的提升丰富生活质感,…...
vue 中的ref
vue 中的ref vue 中的ref 1. ref ** 的基本作用** 在 Vue 中,ref 是用来获取 DOM 元素或者组件实例的一种方式。对于 <el-form> 组件,通过 ref 可以获取到该表单组件的实例,进而调用表单组件提供的各种方法和访问其属性。 …...
Kotlin 协程 vs RxJava vs 线程池:性能与场景对比
1. 轻量级任务:10,000 个并发延迟操作 假设需要并发执行 10,000 个非阻塞延迟任务(如模拟定时请求): 线程池实现 ExecutorService executor Executors.newFixedThreadPool(64); // 最多 64 线程 List<Future<?>>…...
golang-ErrGroup用法以及源码解读笔记
介绍 ErrGroup可以并发执行多个goroutine,并可以很方便的处理错误 与sync.WaitGroup相比 错误处理 sync.WaitGroup只负责等待goroutine执行完成,而不处理返回值或者错误errgroup.Group目前虽然不能直接处理函数的返回值或错误。但是当goroutine返回错…...
遗传算法组卷系统实现(Java版)
遗传算法组卷系统实现(Java版) 下面是一个完整的遗传算法组卷系统的Java实现,包含题目表示、适应度计算、选择、交叉和变异等核心操作。 1. 核心类设计 1.1 题目实体类(Question.java) public class Question {pri…...
JVM 逃逸分析
JVM逃逸分析:让Java对象"乖乖听话"的侦探游戏 大家好!我是你们的老朋友"代码神探福尔摩斯",今天要带大家破解一个JVM界的经典悬案——如何让Java对象乖乖待在它该待的地方? 第一章:案发现场——…...
第三天——贪心算法——区间问题
题目描述 给定多个区间,计算让这些区间互不重叠所需要移除区间的最少个数。起止相连不算重叠。 输入输出样例 输入是一个数组,包含多个长度固定为的子数组,表示每个区间的开始和结尾。输出一个 整数,表示需要移除的区间数量。 …...
路由重发布
路由重发布 实验目标: 掌握路由重发布的配置方法和技巧; 掌握通过路由重发布方式实现网络的连通性; 熟悉route-pt路由器的使用方法; 实验背景:假设学校的某个分区需要配置简单的rip协议路由信息,而主校…...
嵌入式与物联网:C 语言在边缘计算时代的破局之道
引言 在万物互联的 2025 年,全球物联网设备连接数突破 300 亿台,其中 78% 的嵌入式控制系统仍基于 C 语言开发。这种跨越半个世纪的编程语言,正以新的技术形态在智能汽车、工业物联网、边缘计算等领域重塑竞争力。本文通过三个前沿应用场景&…...
计算机网络:WiFi路由器发射的电磁波在空气中的状态是什么样的?
WiFi路由器发射的电磁波是高频无线电波,属于微波频段(2.4GHz或5GHz),在空气中以光速传播(约310⁸米/秒),其传播状态和特性可通过以下维度详细解析: 一、电磁波的物理特性 频率与波长 2.4GHz频段:波长约12.5厘米,穿透力较强但易受干扰(微波炉、蓝牙等共用频段)。5GH…...
使用FastAPI和Apache Flink构建跨环境数据管道
系统概述 本文介绍如何使用FastAPI微服务、Apache Flink和AWS ElastiCache Redis构建一个可扩展的数据管道,实现本地Apache Hive数据仓库与AWS云上Redis之间的数据交互。 该架构通过FastAPI提供RESTful接口,Apache Flink处理数据流,实现了本…...
解决 SQL Server 2008 导入 Excel 表卡在“正在初始化数据流”问题
在使用 SQL Server 2008 导入 Excel 表时,可能会遇到卡在“正在初始化数据流”这一令人困扰的情况。笔者近期也遭遇了同样的问题,尝试了多种常规方法均未解决,最终通过特定命令成功化解难题,在此分享解决过程与经验。 一、问题描…...
【Linux系统】从零开始构建简易 Shell:从输入处理到命令执行的深度剖析
文章目录 前言一、打印命令行提示符代码功能概述 二、读取键盘输入的指令2.1 为什么不继续使用scanf()而换成了fgets()?2.2 调试输出的意义2.3 为什么需要去掉换行符? 三、指令切割补充知识: strtok 的函数原型 四、普通命令的执行代码功能概…...
SSRF服务端请求伪造
SSRF:服务端请求伪造 危害:任意文件读取、任意服务探测(通过端口来探测) 例:探测3306端口,看mysql服务是否开启,再通过文件读取,获得mysql配置文件 例:当我们点击链接…...
LVGL的三层屏幕结构
文章目录 🌟 LVGL 的三层屏幕架构1. **Top Layer(顶层)**2. **System Layer(系统层)**3. **Active Screen(当前屏幕层)** 🧠 总结对比🔍 整体作用✅ 普通屏幕层对象&…...
使用互斥锁保护临界
Linux线程互斥及相关概念解析 1. 临界资源(Critical Resource) 定义:被多个线程共享的资源(如变量、文件、内存区域等),需通过互斥访问确保数据一致性。特点: 共享性:多个线程可能…...
5.8线性动态规划2
P1004 [NOIP 2000 提高组] 方格取数 做法1:DFS剪枝 #include<bits/stdc.h> using namespace std; int n, a[10][10], maxs, minx 11, miny 11, maxx, maxy; void dfs(int x, int y, int s, int type){if(type 1 && x minx && y miny){…...
linux系统Ubuntn界面更改为中文显示,配置流程
Linux 系统是一种开源的、多用户的、多任务的操作系统,具有高度的稳定性、安全性和灵活性,被广泛应用于服务器、嵌入式系统、科研、教育以及个人电脑等领域。以下是关于 Linux 系统的一些基本信息: 发展历程:Linux 的发展始于 19…...
Looper死循环阻塞为什么没有ANR
Looper 死循环阻塞没有 ANR 的原因在于 ANR (Application Not Responding) 的检测机制依赖于特定线程的事件处理超时。以下是详细解释: 1. ANR 的触发机制: 主线程 (UI 线程) 阻塞: ANR 最常见的情况是主线程阻塞。Android 系统会监控主线程…...
数字孪生陆上风电场可视化管理系统
图扑软件搭建陆上风电场数字孪生平台,通过高精度建模与实时数据采集,1:1 还原风机设备、输电网络及场区环境。动态展示风机运行参数、发电量、设备健康状态等信息,实现风电场运维管理的智能化、可视化与高效化。...
图像处理篇---MJPEG视频流处理
文章目录 前言一、MJPEG流基础概念MJPEG流特点格式简单无压缩时序HTTP协议传输边界标记 常见应用场景IP摄像头视频流嵌入式设备(如ESP32)视频输出简单视频监控系统 二、基础处理方法方法1:使用OpenCV直接读取优点缺点 方法2:手动解…...
ensp的华为小实验
1.先进行子网划分 2.进行接口的IP地址配置和ospf的简易配置,先做到全网小通 3.进行ospf优化 对区域所有区域域间路由器进行一个汇总 对区域1进行优化 对区域2.3进行nssa设置 4.对ISP的路由进行协议配置 最后ping通5.5.5.5...
webpack和vite区别
webpack将文件视为模块打包 ,从入口文件递归解析依赖,生成依赖图,使用loader处理非JS模块,最终输出到dist目录 因为要解析所有依赖,所以他启动慢 vite利用浏览器对于es模块的原生支持,利用ESM能力&#x…...
从父类到子类:C++ 继承的奇妙旅程(2)
前言: 各位代码航海家,欢迎回到C继承宇宙!上回我们解锁了继承的「基础装备包」,成功驯服了public、protected和花式成员隐藏术。但—— ⚠️前方高能预警: 继承世界的暗流涌动远不止于此!今天我们将勇闯三大…...
ScaleTransition 是 Flutter 中的一个动画组件,用于实现缩放动画效果。
ScaleTransition 是 Flutter 中的一个动画组件,用于实现缩放动画效果。它允许你对子组件进行动态的缩放变换,从而实现平滑的动画效果。ScaleTransition 通常与 AnimationController 和 Tween 一起使用,以控制动画的开始、结束和过渡效果。 基…...
部署RocketMQ
部署环境:jdk8以上,Linux系统 下载和安装指令: wget https://archive.apache.org/dist/rocketmq/4.9.4/rocketmq-all-4.9.4-bin-release.zip 显示下载成功: --2025-05-10 11:34:46-- https://archive.apache.org/dist/rocketm…...
从爬虫到网络---<基石9> 在VPS上没搞好Docker项目,把他卸载干净
1.停止并删除所有正在运行的容器 docker ps -a # 查看所有容器 docker stop $(docker ps -aq) # 停止所有容器 docker rm $(docker ps -aq) # 删除所有容器如果提示没有找到容器,可以忽略这些提示。 2.删除所有镜像 docker images # 查看所有镜像 dock…...
每日c/c++题 备战蓝桥杯(P2241 统计方形(数据加强版))
洛谷P2241 统计方形(数据加强版)题解 题目描述 给定一个 n m n \times m nm 的方格棋盘,要求统计其中包含的正方形数量和长方形数量(不包含正方形)。输入为两个正整数 n n n 和 m m m,输出两个整数分…...
LLaVA:开源多模态大语言模型深度解析
一、基本介绍 1.1 项目背景与定位 LLaVA(Large Language and Vision Assistant)是由Haotian Liu等人开发的开源多模态大语言模型,旨在实现GPT-4级别的视觉-语言交互能力。该项目通过视觉指令微调技术,将预训练的视觉编码器与语言模型深度融合,在多个多模态基准测试中达到…...
基于Spring Boot + Vue的母婴商城系统( 前后端分离)
一、项目背景介绍 随着母婴行业在互联网平台的快速发展,越来越多的家庭倾向于在线选购母婴产品。为了提高商品管理效率和用户购物体验,本项目开发了一个基于 Spring Boot Vue 技术栈的母婴商城系统,实现了商品分类、商品浏览、资讯展示、评…...
HNUST湖南科技大学-软件测试期中复习考点(保命版)
使用说明:本复习考点仅用于及格保命。软件测试和其他专业课不太一样,记忆的太多了,只能说考试的时候,想到啥就写啥,多写一点!多写一点!多写一点!(重要事情说三遍…...
【AI智能推荐系统】第七篇:跨领域推荐系统的技术突破与应用场景
第七篇:跨领域推荐系统的技术突破与应用场景 提示语:🔥 “打破数据孤岛,实现1+1>2的推荐效果!深度解析美团、亚马逊如何用跨领域推荐技术实现业务协同,知识迁移核心技术全公开!” 目录 跨领域推荐的商业价值跨领域推荐技术体系 2.1 基于共享表征的学习2.2 迁移学习…...
【现代深度学习技术】注意力机制04:Bahdanau注意力
【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈PyTorch深度学习 ⌋ ⌋ ⌋ 深度学习 (DL, Deep Learning) 特指基于深层神经网络模型和方法的机器学习。它是在统计机器学习、人工神经网络等算法模型基础上,结合当代大数据和大算力的发展而发展出来的。深度学习最重…...
使用FastAPI和React以及MongoDB构建全栈Web应用01 概述
Are you ready to craft digital experiences that captivate and convert? 您准备好打造令人着迷并能带来转变的数字体验了吗? In a world driven by innovation, the demand for robust and scalable web applications has never been higher. Whether you’re…...
Flutter - UIKit开发相关指南 - 概览
环境 Flutter 3.29 macOS Sequoia 15.4.1 Xcode 16.3 概览 UIView与Widgets的比较 在UIKit使用UIView类的对象进行页面开发,布局也是UIView类的对象,在Flutter中使用的是Widget,在概念上Widget可以理解成UIView。 差异: 有效期: Widgets是不可变的,它的生存期只…...
扩容 QCOW2 磁盘镜像文件
🌈 个人主页:Zfox_ 目录 ✅ 一、扩展 QCOW2 文件大小✅ 二、启动虚拟机后扩展分区和文件系统方式一:如果使用的是标准分区(如 /dev/vda1)方式二:使用 gparted(图形工具) ✅ 总结 &am…...
【ts】for in对象时,ts如何正确获取对应的属性值
第一种:for…in keyof:适合需要遍历对象属性键并动态访问值的场景。 keyof typeof obj是ts的类型操作符,用于获取对象obj的所有属性键的联合类型(“name” | “age” | “city”)通过obj[key keyof typeof obj]&…...
软考 系统架构设计师系列知识点之杂项集萃(55)
接前一篇文章:软考 系统架构设计师系列知识点之杂项集萃(54) 第89题 某软件公司欲开发一个Windows平台上的公告板系统。在明确用户需求后,该公司的架构师决定采用Command模式实现该系统的界面显示部分,并设计UML类图如…...
绑定 SSH key(macos)
在 macOS 上绑定 Gitee 或 GitHub 的 SSH Key,通常分为以下几步操作,包括生成 SSH key、添加到 ssh-agent,并配置到 Gitee 或 GitHub 平台。 1. 检查是否已有 SSH Key ls -al ~/.ssh 看看是否已有 id_rsa 或 id_ed25519 等文件。如果没有就…...
PyTorch API 6 - 编译、fft、fx、函数转换、调试、符号追踪
文章目录 torch.compiler延伸阅读 torch.fft快速傅里叶变换辅助函数 torch.func什么是可组合的函数变换?为什么需要可组合的函数变换?延伸阅读 torch.futurestorch.fx概述编写转换函数图结构快速入门图操作直接操作计算图使用 replace_pattern() 进行子图…...
Unreal 从入门到精通之VR常用操作
文章目录 前言1.如何设置VRPawn视角的位置。2.如何播放视频3.如何播放VR全景视频。4.如何打开和关闭VR模式。前言 我们使用Unreal5 开发VR 项目的时候,会遇到很多常见问题。 比如: 1.如何设置VRPawn视角的位置。 2.如何播放视频。 3.如何播放VR全景视频。 4.如何打开和关闭V…...
Dify使用总结
最近完成了一个Dify的项目简单进行总结下搭建服务按照官方文档操作就行就不写了。 进入首页之后由以下组成: 探索、工作室、知识库、工具 探索: 可以展示自己创建的所有应用,一个应用就是一个APP,可以进行测试使用 工作室包含…...
事务连接池
一、事务概述 (一)事务的定义 事务是数据库提供的一种特性,用于确保数据操作的完整性和一致性。事务将多个数据操作组合成一个逻辑单元,这些操作要么全部成功,要么全部失败。 (二)事务的特性…...
如何用AWS Lambda构建无服务器解决方案:实战经验与场景解析
一、为什么开发者都在关注Serverless? 一、为什么开发者都在关注Serverless? 在云计算高速发展的今天,“无服务器架构”正成为技术新宠。根据Gartner预测,到2025年全球将有50%企业采用Serverless技术。而作为无服务器领域的领头…...
Android Compose 框架物理动画之捕捉动画深入剖析(29)
Android Compose 框架物理动画之捕捉动画深入剖析 一、引言 在 Android 应用开发中,动画是提升用户体验的关键元素之一。它能够让界面更加生动、交互更加自然。Android Compose 作为新一代的声明式 UI 框架,为开发者提供了强大且灵活的动画能力。其中&…...