Lago 开源用量计费平台:十分钟跑起来,再看懂它怎么工作

发布时间:2026/9/16 18:02:22

Lago 开源用量计费平台:十分钟跑起来,再看懂它怎么工作 Lago 开源用量计费平台十分钟跑起来再看懂它怎么工作【免费下载链接】lagoOpen Source Metering and Usage Based Billing API ⭐️ Consumption tracking, Subscription management, Pricing iterations, Payment orchestration Revenue analytics项目地址: https://gitcode.com/GitHub_Trending/la/lagoLago 是一个开源计量和基于使用量的计费平台你把 API 调用、token、计算时长这些用量事件发过去它负责聚合成计费指标、套用你的定价规则、生成发票并对接收款。如果你一直靠手写代码解决“按量收费”这件事Lago 就是把这条链路做成一套可以自托管的系统。快速上手用内置演示看到第一笔计费一条命令跑通 AI 计费演示理解 Lago 最短的路径是 examples/agentic-ai-demo/ 里的演示。clone 仓库后一条命令./examples/agentic-ai-demo/run.sh # 启动演示 ./examples/agentic-ai-demo/run.sh --cleanup # 结束后清掉容器和数据它只需要 Docker、curl、jq。脚本会起一个独立的 Lago创建临时组织发 3 个模拟 AI 请求每个各带一条输入 token、一条输出 token 事件再通过 API 取回用量独立对账金额甚至重发同一个 transaction_id 来验证幂等——用量不会被重复计费。跑完打开 http://localhost:8080用 README 里给的演示账号登录就能在 UI 里看到客户、订阅、用量事件和最终扣费。事件 → 计量 → 定价 → 计费这条链路一次看全。用 docker compose 起完整服务真实使用则用根目录的 docker-compose.yml 起全套服务唯一的额外动作是生成一个 RSA 私钥Webhook 签名用git clone --depth 1 https://gitcode.com/GitHub_Trending/la/lago cd lago echo LAGO_RSA_PRIVATE_KEY\$(openssl genrsa 2048 | openssl base64 -A)\ .env docker compose up -d跑起来的东西dbPostgreSQL、redis、migrate迁移、apiRails API3000 端口、api-workerSidekiq 后台任务、api-clockClockwork 定时调度、frontUI80 端口、pdf发票 PDF 生成。想在启动时自动创建组织和 API key在 .env 里设LAGO_CREATE_ORGtrue并配好LAGO_ORG_NAME等变量即可。仓库导览核心代码到底在哪三块主体加一圈配套api/整个系统的核心Ruby on Rails处理 API、计费逻辑和后台作业。它是指向独立 lago-api 仓库的 git submodulefront/Web 界面同样是 submodule本质由 nginx 伺服静态资源events-processor/用 Go 写的独立高吞吐事件处理服务下面重点讲外围还有 connectors/SQS/Kinesis/HTTP 接入、deploy/生产用 compose 文件、extra/ClickHouse、Kafka Connect、nginx TLS 配置、docker/Dockerfile 与启动脚本。读代码 80% 的精力花在 api/纯跑通则只需要 compose 文件。它为什么这样设计两个值得看懂的取舍主 API 只接单重活全丢给 worker结论先说Rails API 本身几乎不做计费计算它收到事件后把作业塞进 Sidekiq 队列干活的是 worker。原因很直白——计量事件量不可预测如果在请求里同步算账一个慢作业比如生成一张大发票就能把 API 拖住。所以 Lago 把作业分成 events、billing、webhook、pdfs 等队列默认由一个 api-worker 全扛量上来后打开布尔环境变量比如 SIDEKIQ_EVENTStrue对应作业就自动改走独立队列可以单独扩副本。这就是为什么 docker-compose.yml 里专职 worker 服务大多被注释掉小规模部署默认 worker 够用量大了再逐个解开。高吞吐事件处理是独立的 Go 服务当事件量大到 Rails 链路吃不住events-processor/ 就是干这个的它从 KafkaRedpanda消费原始事件做订阅匹配、charge 计算和结果缓存把加工后的事件写回其他 topic处理失败的事件进死信队列。配套地connectors/ 负责把 SQS、Kinesis 或 HTTP 直推的事件搬进 Kafka也就是说你不走同步 API 也能做计量。这笔交易换来两样东西热路径事件接入 实时用量不再压在主 API 上Postgres 只管业务数据客户、订阅、发票海量用量明细由 ClickHouse 承接查询。代价是得额外运维一套 Kafka 加 ClickHouse——events-processor 的 README 也明说它面向高量场景、需要配套 ClickHouse 和 Redpanda。适合谁不适合谁这些情况放心用产品有“用量”概念要收费API 调用、token、GPU/CPU 时长、存储、席位、活跃用户想让计费和收款方解耦Lago 管计量、定价、额度、发票收款交给 Stripe/Adyen/GoCardless商品目录以 Lago 为准而不是支付方你是平台想给客户做白牌计费能力Embedded 模式数据必须自托管且有人愿意维护 Postgres Redis Kafka/ClickHouse这套栈这些情况建议绕开只需要“订阅 卡支付”团队没人维护这一堆服务——docs/architecture.md 里的最小生产配置也是四类服务、每个带副本数已经用 Stripe Billing 且想沿用它的商品模型——Lago 是独立的计费引擎刻意没建在 Stripe 目录体系上用量极小每月几十个用户开源计费平台的运维成本会高于它帮你省的账单⚠️ 生产部署前值得知道的几件事Sidekiq 默认不重试retry: 0失败作业直接进死信队列兜底靠 clock 的定期补偿任务如失败发票每 15 分钟重试一次。作业挂了别指望自动恢复盯死信队列和队列深度对应指标在 docs/monitoring.md生产上至少把 events、billing、webhook、pdfs 的专职 worker 打开compose 文件里已备好服务定义解开注释即可Webhook 签名有 HMAC 和 JWT 两种按 endpoint 配置启动时生成的 RSA 密钥就是给 JWT 签名用的想从源码跑开发环境额外依赖 Traefik、mkcert、ClickHouse 等步骤见 docs/dev_environment.md比 compose 部署繁琐不少Lago 把你过去手写的“事件到收款”链路做成了一套可自托管的独立系统docker compose 一条命令能跑但生产要运维一整个服务集群这份成本得自己掂量。有按量计费场景的话从内置演示开始一小时能比十页文档看懂它得多。【免费下载链接】lagoOpen Source Metering and Usage Based Billing API ⭐️ Consumption tracking, Subscription management, Pricing iterations, Payment orchestration Revenue analytics项目地址: https://gitcode.com/GitHub_Trending/la/lago创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/16 17:57:20

humanizer:让AI文本更像人,但绝不越过事实边界

最近刷 GitHub 热榜的时候,我盯上了一个叫 humanizer 的项目。说实话,这个类别的东西不算少见,市面上打着“AI 去味”旗号的开源仓库一抓一大把,但 humanizer 的亮点不在“让它更像人写”这个口号本身,而在后半句——“…

2026/9/16 18:57:26

关系代数、元组演算与域演算:数据库查询的数学底座全解析

关系运算这块内容,我见过太多人把它当成“背公式”来学:选择是什么、投影是什么、连接是什么,背得滚瓜烂熟,一到笔试让写表达式就懵。尤其是元组关系演算和域关系演算,市面上能找到的教程本来就少,能讲清楚…

2026/9/16 18:57:26

Unity调起iOS相机相册:原生桥接方案详解与踩坑实录

做 Unity 移动端开发的人,迟早会碰上一个绕不过去的需求:游戏里要拍照、要选图、要识别二维码,结果发现Unity 自己没有一套能直接调起 iOS 系统相机和相册的官方接口。社区里是有现成插件,但插件一多维护成本就上来了,…

2026/9/16 18:57:26

Qt文件资源管理器开发:QFileSystemModel核心实践与性能优化

简介:QT文件资源管理器是一份基于C与Qt框架的完整工程示例,面向刚接触桌面开发或希望系统学习Qt文件操作的中初级开发者。项目实现了类似Windows资源管理器的常用交互:文件与文件夹的复制、剪切、重命名、删除,新建文件夹&#xf…

2026/9/16 18:57:26

技术演进对人类存在形态的三重解构与重构

1. 技术演进对人类存在形态的三重解构人类文明发展史本质上是一部技术与人相互塑造的历史。最近在整理技术哲学资料时,我注意到一个有趣的现象:医学、工业和智能三个技术时代,分别对人类不同维度的存在形态进行了系统性解构与重构。这种解构不…

2026/9/16 18:52:26

YuE开源歌曲生成模型:从歌词到分轨WAV的本地部署实战

YuE这个名字最近在AI音乐圈讨论度不低,尤其是我在本地跑通了一次中英文demo生成之后,周围好几个玩音频的朋友都在问怎么搭环境。一句话概括:YuE是一个开源的歌曲生成模型,你给它一段歌词,它能还给你一首带人声演唱、带…

2026/9/16 12:52:37

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/16 0:04:09

PHP源码部署实战:从环境配置到运行情侣游戏全攻略

简介:这是一套面向情侣互动场景的PHP完整源码,集成情侣飞行棋、真心话大冒险、情趣骰子等玩法,并内置完整分销制度,可自定义多种返佣比例,源码完全开源无加密,支持微信无感自动授权登录与第三方授权&#x…

2026/9/15 14:22:53

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/15 21:31:11

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/15 11:42:23

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码