如何用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/lago
给 AI 产品按 token 收费、给 API 按调用量收费时,自己攒一套计费系统总容易在重试、对账上翻车。Lago 是开源计量计费系统,把"使用量"直接变成账单和收款:事件进来,金额出去。
三分钟跑起来 🚀
克隆仓库:
git clone --depth 1 https://gitcode.com/GitHub_Trending/la/lago cd lago本地开发:根目录的 docker-compose.yml 会生成签名密钥、跑迁移,然后拉起 API 和前端,一条命令即可:
echo "LAGO_RSA_PRIVATE_KEY=\"$(openssl genrsa 2048 | openssl base64 -A)\"" >> .env docker compose up -d起好后浏览器打开 http://localhost 就是管理界面,API 在 http://localhost:3000。
生产部署:用 deploy/ 下的配置。小流量选 docker-compose.light.yml,带 Traefik 反代和 Let's Encrypt;大流量选 docker-compose.production.yml,额外拆出计费、Webhook、事件等独立 Worker 便于扩容:
docker compose -f deploy/docker-compose.production.yml up -d --profile all生产配置需要域名,具体环境变量在 deploy/README.md 里都有说明。
它是怎么工作的
先建立直觉,再上图。整个链路一句话:你的应用把用量事件推给 API,Lago 按订阅和定价规则算钱,月底定时出账,再对接支付渠道收款。
- 输入:事件流。比如"这次 AI 调用消耗了 1200 个 input token",通过 REST API 持续推送;
- 中间:events-processor/ 消费事件并聚合,Redis 做队列和缓存,Postgres 存业务数据,ClickHouse 存海量事件明细,Kafka 承载事件流;
- 产出:实时用量、发票、收款记录。billing-worker 生成发票,webhook-worker 把结果回调给你的业务系统,时钟进程负责"每月出账"这类定时任务。
核心能力实操
跑通一个 AI 计费演示
目的:不用写一行配置,亲眼看到"事件 → 金额"的完整链路。
./examples/agentic-ai-demo/run.sh脚本会起一个独立 Lago 实例,建好客户、两个计量指标(输入/输出 token)和一个按月订阅,发送 3 次 AI 请求对应的 6 条 token 事件,然后对账,并故意重发其中一条事件来证明不会重复计费。预期输出:
5,000 input tokens x $0.000002 = $0.01 1,250 output tokens x $0.00008 = $0.01 Lago usage total = $0.02再打开 http://localhost:8080 登录,就能看到用量明细。玩完清理:./examples/agentic-ai-demo/run.sh --cleanup。
给真实业务发一条计量事件
目的:把你自己产品里的用量接进来。
{ "event": { "transaction_id": "txn-unique-001", // 全局唯一,重试不会重复计费 "external_subscription_id": "sub-001", "code": "input-tokens", // 对应你建的计量指标 "properties": { "tokens": 1200 } } }用 API 密钥 POST 到/events即可。预期结果:界面里该订阅的实时用量立刻增加对应金额;重复提交同一个transaction_id会被识别为幂等请求,用量不涨。
配置第一个定价规则
目的:定义"按什么量、什么价"收费。
- UI 里创建Billable Metric(计费指标):选事件 code、取哪个字段、用什么聚合方式(求和、去重计数等);
- 创建Plan + Charge:挂上指标并填单价,支持标准计费、阶梯、按量包、预付额度等模型。
预期结果:订阅者挂上该计划后,每发一条事件,用量金额就按规则实时累积,到账单周期自动出账。
进阶与定制
- Worker 独立扩容:生产环境按环境变量开启专用 Worker(计费、事件、Webhook、PDF 等),高负载队列互相隔离,各自水平扩副本,详见 docs/architecture.md;
- 监控与告警:Lago 暴露 Prometheus 指标,覆盖 API、队列深度和 Worker 积压,生产部署建议配上告警,见 docs/monitoring.md;
- 数据库分片:事件量上来后如何分库,参考 docs/database_partitioning.md。
更多细节去 docs/ 目录,包括开发环境搭建(dev_environment.md)和部署指南。
写在最后
Lago 适合做按量计费产品的团队:SaaS、API 网关、AI 产品、云资源。它解决的是"从事件接入、定价、出账到收款对账"这条链路,且全部代码可自托管、可审计。
【免费下载链接】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),仅供参考