发布时间:2026/8/31 9:28:05
每用户一个cell:用celld天生分片改造SaaS Web应用(完整指南) 每用户一个cell用celld天生分片改造SaaS Web应用完整指南【免费下载链接】celldself-hosted, distributed Durable Objects项目地址: https://gitcode.com/GitHub_Trending/ce/celld还在为共享数据库的锁竞争和分库分表头疼吗开源项目celld是一个自托管的分布式 Durable Objects 运行时它让你每用户一个 cell用天然分片的方式改造 SaaS Web 应用——每个 cell 自带一个私有 SQLite 数据库从架构上根除共享数据库的争用问题且空闲用户几乎零成本。 先搞懂 celld 是什么celld 是一个运行在你自己机器上的守护进程内嵌 V8 引擎直接执行 Wrangler 打包的 Cloudflare Workers 和 Durable Objects 代码。用 Cloudflare 的话说一个 cell 就是一个 Durable Object——一个带名字、带私有 SQLite 数据库的小型服务器。节点之间不需要成员协议、故障检测器或共识服务。所有节点共享一个你拥有的对象存储桶S3 兼容或 Google Cloud Storage仅通过一次对象存储的条件写compare-and-swap就确定同一时刻只有一个节点拥有某个 cell。桶就是唯一的协调者与持久事实来源节点随时可替换机制细节见 docs/fencing.md。 为什么每用户一个 cell是最优分片模式传统 SaaS 的痛点在于所有用户挤在一个共享数据库里热点用户的写入争用、单库故障的爆炸半径都是事后管理出来的问题。而 celld 的思路是——每个对象本身就是一个小数据库应用从设计之初就是分片的没有共享数据库争用和爆炸半径问题被直接设计掉了而不是被管理着。官方文档明确列出了这类适合分片的场景见 docs/README.md一个用户一个 cell用户的会话、偏好、配额、消息各自落在自己的 SQLite 里一个租户一个 cell天然多租户隔离无需行级权限补丁一个聊天房间 / 协作文档一个 cellcell 持有 WebSocket 连接和房间状态无需加锁无需外部消息总线一个 AI Agent 一个 cell空闲 Agent 自动休眠大集群在事件间隙几乎零成本每个 cell 单线程执行两个请求永远不会同时进入同一个 cell存储操作同步执行——数据一致性是结构性的不用你写任何加锁代码。 三步改造你的 SaaS 应用1️⃣ 按用户 ID 路由请求这是改造的核心一步在 Worker 入口把请求按用户名路由到对应 cell。参考官方示例 examples/router/index.js它的默认fetch就实现了/alice → alice 的 cell、/bob → bob 的 cellconst name new URL(request.url).pathname.slice(1) || default; const id env.COUNTER.idFromName(name); return env.COUNTER.get(id).fetch(request);在多节点集群上这些 cell 可能落在不同节点env.COUNTER.get(id)会透明地把请求代理给 cell 的拥有者——你不需要任何路由表或一致性哈希名字就是地址。更简单的入门示例在 examples/counter/index.jsSQLite 支撑的 Durable Object。2️⃣ 部署到对象存储桶一个标准的 Wrangler 项目即可用celld deploy发布到你的桶支持 S3 兼容、Cloudflare R2、GCScelld deploy . --bucket s3://my-cells-bucket3️⃣ 启动节点集群自动形成每个节点指向同一个桶通过桶里的租约互相发现——没有 join 命令没有固定成员列表celld --bucket s3://my-cells-bucket \ --listen 0.0.0.0:8080 \ --internal-listen 10.0.0.12:8081 \ --advertise node-a.internal:8081加新节点只需再启动一个进程指向同一个桶。运维排查用celld diagnose一条命令扫描所有节点租约并探测存活的 peer。 空闲用户几乎不花钱这是 cell 模型对 SaaS 最性感的特性inactive未激活没有任何节点持有该 cell它只是桶里的一个对象成本几乎为零——每个用户都从这个状态开始idle空闲→ hibernated休眠celld 会把空闲 cell 从内存移除如果它还有休眠可保持的 WebSocket 客户端则以休眠状态留在节点上连接不断压力丢弃内存吃紧时celld 把最近最少使用的空闲 cell 持久化复制后释放绝不丢弃正在干活或持有活跃 WebSocket 的 cell官方给出的成本参考一台 8 GB 节点可承载 1000 个常驻 cell约合每个常驻 cell 每月 $0.05。对 SaaS 来说这意味着长尾用户的成本从数据库里的死行变成了接近零。 值得深入的关键模块内容路径文档总览与 cell 生命周期docs/README.md所有权与 fencing 机制RPO0 保证docs/fencing.mdCloudflare API 兼容清单docs/cloudflare-compat.md已知限制alpha 阶段边界docs/limitations.md用户路由示例examples/router/index.js桶内对象协议定义crates/celld/protocol.rs安全边界说明docs/security.md✅ 小结天然分片每用户一个 cell无共享数据库争用与爆炸半径从架构上消失名字即路由idFromName(用户名) 透明代理无需路由表近乎免费的长尾未激活 cell 只占桶里一个对象常驻 cell 约 $0.05/月桶即协调者无共识、无成员协议节点指向同一个桶即自动组网如果你的 SaaS 应用能回答我的状态可以按哪个维度切分——用户、租户或房间——那么 celld 的每用户一 cell 模型值得你花一个下午试一试。【免费下载链接】celldself-hosted, distributed Durable Objects项目地址: https://gitcode.com/GitHub_Trending/ce/celld创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

2026/8/31 9:23:05

DQPSK调制解调Matlab仿真:从原理到误码率曲线全解析

简介:本资源是一份面向通信工程专业学生、初学者及MATLAB实践者的DQPSK调制解调完整仿真代码包,聚焦数字通信中差分四相键控的核心原理与工程实现。压缩包共7个MATLAB源文件(.m),总大小仅4KB,涵盖信号生成、…

2026/8/31 9:23:05

麒麟系统终端与Shell:从报错排查到脚本化工作流实战

在一台刚装好银河麒麟系统的机器上,很多人第一次真正接触 Linux,都不是从“安装软件”开始的,而是从“软件商店报错”开始的。点开软件商店,装个录屏工具或桌面整理软件,结果弹出一个错误码 0006。于是去网上搜索“麒麟…

2026/8/31 9:43:07

Umi-OCR 完整入门指南:免费离线批量 OCR,3 步完成首次识别

Umi-OCR 完整入门指南:免费离线批量 OCR,3 步完成首次识别 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维…

2026/8/31 9:43:07

家庭私有云NAS部署实战:从RAID选型到AI相册与NFC直连全指南

家庭数据越来越多之后,NAS 这类设备就不再只是极客玩具了。绿联私有云 DH4300 Plus 8G 版是一条很典型的家庭私有云产品线:4 盘位、8G 内存、AI 相册识别、NFC 一碰直连手机和平板,官方定位是“4 盘位 AI 家庭存储服务器”。对准备入手的用户…

2026/8/31 9:43:07

让吉他开口说话:JUCE插件集成本地语音识别与LLM的实践

把 JUCE 插件、本地 LLM 和语音识别串在一起,做一个能“让吉他开口说话”的交互 demo,听起来很像 AI 音频玩具,但拆开以后会发现,真正考验人的不是模型效果,而是音频插件和外部服务之间的工程协作。我按这个方向跑过一…

2026/8/31 9:43:07

永续全身Deepfake生成:技术拆解与工程落地指南

“永续全身 Deepfake 生成”这几个词放在一起,已经足够说明一个新方向:它不再满足于只换一张脸,也不满足于生成几秒钟就崩坏的单帧结果,而是希望让整个身体在长时间视频里持续、稳定、可交互地“被合成”下去。这次的题目 Toward…

2026/8/31 9:38:06

ST-GCN骨骼动作识别:时空图卷积网络原理与PyTorch实践

简介:本资源是一套完整的基于PyTorch实现的时空图卷积网络(ST-GCN)骨骼动作识别毕业设计项目,面向计算机、人工智能及相关专业本科生,解决人体动作识别这一典型时序-结构建模问题,适用于毕业设计、课程设计…

2026/8/31 1:05:20

vSound小提琴数字处理器实操指南:从接线到演出的完整配置

电小提琴或者原声小提琴插电演出,第一个绕不开的坎就是声音难听。原声琴的共鸣和空气感一旦进了拾音器,出来的往往是一坨干瘪、发尖、带着奇怪塑料味的信号。我当初第一次把琴接上乐队调音台,直接被主唱吐槽"你这声音像在锯钢丝"。…

2026/8/31 2:14:20

传感器接口IC如何攻克生物化学传感的微弱信号难题?

1. 从电极到比特流:为什么生物化学传感必须依赖专用接口IC 做生物化学传感的人都有过类似的经历:明明传感器本身性能很好,信号输出却一塌糊涂——噪声大、漂移明显、重复性差,怎么调都达不到预期。很多时候问题并不在传感器&#…

2026/8/31 1:41:28

STM32F411CEU6多通道ADC采集:扫描模式+DMA实现详解

1. 多通道 ADC 的用武之地把“Multichannel ADC”和“STM32F411CEU6”这两个关键字放在一起,其实就是嵌入式开发里最常遇到的一类需求:用一块不算贵的 MCU,同时采集多路模拟信号。STM32F411CEU6 是 48 引脚的 Cortex-M4F 主控,主频…

2026/8/31 0:07:32

STM32C5设备支持包(IAR DFP)安装指南与常见坑

上一阵子在IAR里折腾一块基于STM32C5系列的新板子,工程从STM32CubeMX导出来之后怎么都编译不过。报错信息很干脆:找不到设备描述文件。跟着错误路径去查,发现指向的是一个让我愣了一下的名字:STMicroelectronics.stm32c5xx.2.1.0.…

2026/8/31 0:07:32

STM32N657 SWO引脚矛盾:CubeMX显示PB3,数据手册为PB5

拿到STM32N657这颗料的第一天,我就撞上了一个让人原地懵圈的引脚矛盾:CubeMX里清清楚楚显示SWO在PB3,翻开数据手册的引脚说明表,却赫然写着PB5。对于一个靠SWO输出调试日志吃饭的人而言,这种"工具和手册打架"…

2026/8/28 16:16:48

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/31 9:19:59

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/31 6:53:02

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…