分布式 SQLite:十二年间的五个误区实测
分布式 SQLite 从一个人的周末项目,发展成了一个获得风险投资的产品品类,而大多数工程师甚至没注意到中间这十年。2014 年 9 月,Philip O'Toole 在 SQLite 前面加了一层 Raft 日志,把每次写入都复制到整个集群,并把代码以 rqlite 的名字推到了 GitHub...
云基础设施、容器化、CI/CD流水线以及DevOps工程实践。
9 篇文章分布式 SQLite 从一个人的周末项目,发展成了一个获得风险投资的产品品类,而大多数工程师甚至没注意到中间这十年。2014 年 9 月,Philip O'Toole 在 SQLite 前面加了一层 Raft 日志,把每次写入都复制到整个集群,并把代码以 rqlite 的名字推到了 GitHub...
想象一下,某天醒来发现公司名下的每一个域名(生产环境、预发布环境,还有那个承载着 MX...
如果你在运营一个 git 单体仓库,迟早会遇到某个临界点,系统在那里彻底崩溃。对 Anthropic 来说,这个数字大约是每天 3 万次合并、主分支 100 GB 的历史,以及每天约 2500 万次 CI 检出。如果按最朴素的方式拉取,每天的 git 流量超过 600...
这是我的一个反直觉观点,我打算把它讲清楚:个人 AI 智能体比起放在你桌子底下的树莓派,其实更适合跑在 Serverless 基础设施上。Talorys 是一个开源的个人助手项目,只需一条 npx create-talorys@latest 命令就能部署到你自己的 Cloudflare...
eBPF 中的自旋锁 bug 不会通过堆栈跟踪或错误信息来告诉你它的存在,而是让机器停止响应。没有日志,没有警告,也没有优雅降级,只有一个 CPU 核心在一把永远不会被释放的锁上无休止地空转。运气好的话,看门狗定时器触发,你会得到一个带调用栈的内核 panic;运气差的话,机器直接卡死,你只能断电重启。
苹果最新的 macOS 版本让数千名开发者的自定义 DNS 设置失效了。具体来说,它开始拦截 .internal 顶级域的查询——很多公司用这个域名来标识内网资源——并把这些请求转给 mDNS(组播 DNS),而不是交给已配置的 DNS...
一家中型金融科技公司的初级工程师在周五下午运行了一个数据库迁移脚本。这个脚本本来是用来清理预发布(staging)环境里的孤立记录的。结果它却连上了生产数据库,删除了 420 万条客户交易记录。备份还是三天前的。公司接下来 72 小时全员进入事故响应状态,手动从支付处理商的日志里逐条核对、恢复数据。总成本超过 40...
启动一个 Docker 容器大约需要 500 毫秒,Firecracker microVM 大约需要 125 毫秒,V8 isolate 大约需要 5 毫秒。但新一代轻量级沙箱利用写时复制(copy-on-write)内存分叉技术,可以在 1 毫秒以内启动一个隔离的执行环境,通常只需 50 到 200...
当你在 Netflix 上看电影时,视频数据很可能就来自一台 FreeBSD 服务器。你发送一条 WhatsApp 消息时,它经过的基础设施也曾在 FreeBSD 上运行多年。PlayStation 4 和 5 的操作系统同样基于 FreeBSD。Juniper Networks 的路由器(主流 ISP...