当前位置: 首页 > article >正文

Harness 中的令牌级流控与字符级计费

Harness 中的令牌级流控与字符级计费:从原理到落地的全指南关键词:Harness CI/CD, 令牌级流控, 字符级计费, 微服务流量治理, 用量计量, 云原生成本优化, 网关限流摘要:作为全球领先的智能软件交付平台,Harness 每天要处理来自数千家企业客户的上亿次 API 调用、数百万次流水线执行,如何在保障系统稳定性的同时实现精准的用量计费,是支撑其 SaaS 商业模式的核心能力。本文将以通俗易懂的类比、完整的原理推导、可直接运行的代码实现,从背景、概念、算法、实战、应用等全维度拆解 Harness 的两大核心能力:令牌级流控与字符级计费,帮助开发者、架构师、DevOps 工程师快速掌握这套可复用的流量治理与计量方案,落地到自己的 SaaS 系统中。背景介绍问题背景你可以把 Harness 想象成一个全球连锁的大型游乐园:每天有来自世界各地的几十万游客(API 请求)涌入,有的游客是来玩过山车(触发CI/CD流水线),有的是来买周边(调用Feature Flag接口),有的是来寄存行李(上报云成本数据)。如果没有任何管控,一旦有个企业客户搞"双十一上线"这种大活动,一下子涌进来十几万请求,整个游乐园就会被挤爆,普通游客连大门都进不去,体验直接崩掉。同时作为商业游乐园,你还要精准收费:不能让玩了1个项目的游客付10个项目的钱,也不能让玩了10个项目的游客只付1个的钱。早期Harness用的是全局IP限流+按KB计费的方案,结果踩了两个大坑:2021年某世界500强客户年底上线,一次性触发了2000条流水线,直接打满了全局QPS阈值,导致上千家普通客户的流水线卡住了2小时,赔付了近百万美元的违约金;大量中小客户投诉计费不公平:比如上报的日志只有999字符,按KB计费要算1KB,每年多付20%的费用,客户流失率上升了15%。正是这两个痛点,倒逼Harness研发了现在的令牌级流控与字符级计费体系,上线之后系统可用性从99.7%提升到99.99%,客户计费投诉率降到了0.1%以下。目的和范围本文将完整覆盖Harness中令牌级流控与字符级计费的设计思路、核心原理、算法实现、落地实战、最佳实践,所有代码和方案都可以直接复用到任何SaaS系统、云原生平台的流量治理与计量场景中。预期读者DevOps工程师、后端开发工程师、云原生架构师SaaS产品经理、商业化运营负责人对流量治理、用量计费感兴趣的技术爱好者术语表核心术语定义Harness:全球领先的智能软件交付平台,提供CI/CD、Feature Flag、云成本管理、安全合规等一站式DevOps能力,服务全球数千家企业客户。令牌级流控:以租户、组织、项目、用户等身份维度为单位,为每个维度分配独立的令牌配额,只有持有有效令牌的请求才能被放行的流量控制机制。字符级计费:精准统计每个请求/响应的有效字符数,按实际使用的字符量进行计费的计量模式,精度可达单个UTF-8字符。计量网关:所有请求的统一入口,负责流控校验、字符统计、用量上报的核心网关组件。令牌桶算法:一种常用的流量控制算法,通过固定速率生成令牌、请求拿取令牌的方式实现流量管控,支持突发流量。缩略词列表CI/CD:持续集成/持续交付QPS:每秒请求数SaaS:软件即服务API:应用程序编程接口核心概念与联系故事引入我们继续用游乐园的类比:令牌级流控就是游乐园的门票系统:每个客户买的票类型不一样,普通票每天最多进100人,VIP票每天最多进1000人,不管你有多少人,超过票的额度就不让进,而且不同客户的票是独立的,VIP客户来多少人都不会占用普通客户的名额。字符级计费就是游乐园里的打印店收费:你打印的内容有多少个字就收多少钱,1个字就是1个字的钱,不会把999个字算成1000个字的钱,公平透明。计量网关就是游乐园的入口检票员:先查你有没有门票(流控校验),再登记你进园之后消费了多少项目(字符统计),最后把消费记录同步到收费系统(计费中心)。核心概念解释核心概念一:令牌级流控令牌级流控就像给每个客户单独开了一个游乐园入口,每个入口的放行速度是单独设置的:比如A客户买了标准版套餐,每秒最多放行100个请求,你一次性发200个请求,前100个可以进,后100个要么排队要么直接返回限流提示;B客户买了企业版套餐,每秒最多放行1000个请求,就算一次性发2000个请求,也只会限制B自己的流量,完全不会影响A客户的使用。和普通限流的最大区别:普通限流是全局统一的阈值,就像整个游乐园只有一个入口,不管你是VIP还是普通客户,都要一起排队,高峰期所有人都进不去;令牌级流控是每个客户独立入口,互相完全隔离。核心概念二:字符级计费字符级计费就像你用手机发短信,1个汉字算1条,70个汉字也算1条?不对,哦是更精准的:1个字符就算1个的钱,不管是英文、中文、 emoji ,只要是1个UTF-8字符就算1个单位。比如你上报一条日志:{"content":"今天上线成功"},总共有21个字符(包括标点、括号这些),就按21个字符计费,不会按1KB(1024字符)来算,比按KB计费公平太多。适用场景:日志上报、Feature Flag规则返回、云账单数据上报、文案翻译等所有和文本内容传输、存储相关的场景。核心概念三:计量网关计量网关是流控和计费的载体,就像游乐园的大门,所有请求必须经过它才能进入业务系统:第一步:解析请求里的客户身份(Customer ID、Organization ID、Project ID等);第二步:校验这个身份有没有足够的令牌,有就放行,没有就限流;第三步:统计放行的请求和响应的有效字符数,上报到计费中心;第四步:把响应返回给客户。核心概念之间的关系流控和计费是一对双胞胎兄弟,计量网关是他们的家:流控是哥哥:负责守门,不让超量的请求进来,保护系统稳定性,相当于家里的保安;计费是弟弟:负责算进来的请求用了多少资源,要收多少钱,相当于家里的会计;两个兄弟互相配合:哥哥的放行额度(令牌配额)是根据弟弟那边的客户付费套餐来定的,客户买的套餐越贵,哥哥给的配额越高;弟弟统计的用量如果到了套餐的90%,就会告诉哥哥,让哥哥给客户发提醒,到了100%就降低配额或者直接限流。概念核心属性维度对比我们用表格来对比不同流控和计费方案的差异:流控类型粒度隔离性突发支持适用场景全局限流全局无差保护系统整体容量IP限流IP维度弱中防网络攻击租户级限流租户维度中中简单SaaS场景令牌级流控租户+组织+项目+用户多维度强好复杂企业级SaaS平台计费类型粒度公平性统计开销适用场景按次计费单次请求差低简单无状态API调用按KB计费1024字节一般中大文件传输场景按字符计费单个UTF-8字符高中日志上报、规则返回场景按Token计费单个模型Token极高高大模型推理场景核心概念架构文本示意图[客户请求] → [计量网关] ↓ ┌───────┴───────┐ ▼ ▼ [令牌级流控模块] [字符级计费采集模块] ↓ ↓ [多层令牌桶校验] [请求响应字符统计] ↓ ↓ [拒绝/放行请求] [用量数据上报计费中心] ↓ [业务服务集群] ←→ [计费中心同步配额到流控模块]Mermaid 架构与流程图实体关系架构图进入调用流控调用计量读取配额上报用量同步套餐配额转发放行请求CUSTOMER_REQUESTMETERING_GATEWAYTOKEN_RATE_LIMITCHARGE_COLLECTOR

相关文章:

Harness 中的令牌级流控与字符级计费

Harness 中的令牌级流控与字符级计费:从原理到落地的全指南 关键词:Harness CI/CD, 令牌级流控, 字符级计费, 微服务流量治理, 用量计量, 云原生成本优化, 网关限流 摘要:作为全球领先的智能软件交付平台,Harness 每天要处理来自数千家企业客户的上亿次 API 调用、数百万次…...

Allegro16.6 矩形槽孔焊盘 说明

铣刀实际直径 对应 mil 值 ncroutebits.txt 写法 输出 rou 里自动变成 0.60 mm 23.62 mil 23.62 T01 T01C.02362 0.65 mm 25.59 mil 25.59 T01 T01C.02559 0.70 mm 27.56 mil 27.56 T01 T01C.02756 0.80 mm 31.50 mil 31.50 T01 …...

监区越界预警革命:UWB单点局限,无感定位全域穿透式风控

监区越界预警革命:UWB单点局限,无感定位全域穿透式风控一、行业现状:传统UWB定位管控的单点式致命短板当前国内绝大多数智慧监区、看守所、戒毒所的人员越界预警与区域管控体系,仍高度依赖UWB穿戴式定位技术,依托定位基…...

DOM 基础全面解析

系列文章目录 《JavaScript 基础与进阶笔记》(前期偏基础巩固与常见面试点,后续进入闭包、异步、工程化等进阶主题) 第 01 篇:数据类型与类型判断第 02 篇:变量声明与作用域第 03 篇:闭包与高阶函数第 04…...

RAG+Agent+记忆图谱三重架构解析,2026年仅剩这4个工具通过企业级安全审计认证

更多请点击: https://codechina.net 第一章:RAGAgent记忆图谱三重架构解析,2026年仅剩这4个工具通过企业级安全审计认证 架构协同的本质逻辑 RAG 提供实时、可溯源的外部知识注入能力;Agent 负责任务分解、工具调用与多步推理闭…...

NotebookLM时间线功能深度解锁:5个被90%用户忽略的高阶技巧,今天必须掌握

更多请点击: https://codechina.net 第一章:NotebookLM时间线功能概览与核心价值 NotebookLM 的时间线(Timeline)功能是其区别于传统笔记工具的关键创新,它以可视化、可交互的方式呈现文档内容的演进脉络与语义关联。…...

鬼谷八荒2026官方正版最新版pc免费下载(看到请立即转存 资源随时失效)手机版通用

下载链接 逆天改命与八荒求道:解析《鬼谷八荒》的幕后历程、核心玩法与行业对比 在近年来的国产独立游戏浪潮中,修仙题材始终占据着举足轻重的地位。而在众多作品里,《鬼谷八荒》凭借其独特的画风与开放世界沙盒的定位,一度引发了…...

3个步骤快速掌握Py Eddy Tracker:海洋中尺度涡旋识别与追踪的完整解决方案

3个步骤快速掌握Py Eddy Tracker:海洋中尺度涡旋识别与追踪的完整解决方案 【免费下载链接】py-eddy-tracker Eddy identification and tracking 项目地址: https://gitcode.com/gh_mirrors/py/py-eddy-tracker Py Eddy Tracker是一个专门用于海洋中尺度涡旋…...

BGA翻新安全的核心风险—热损伤与机械失效底层逻辑

BGA(球栅阵列)芯片翻新是电子制造业降本增效、资源循环的重要工艺,广泛应用于服务器 CPU、手机基带芯片、车载处理器等高价值元器件修复场景。但 BGA 封装结构精密,焊点隐藏在芯片底部,翻新过程需经历多次高温加热、机…...

Taotoken用量看板如何帮助团队清晰掌握各模型消耗与成本分布

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Taotoken用量看板如何帮助团队清晰掌握各模型消耗与成本分布 对于项目管理者或团队负责人而言,在引入大模型能力后&…...

MSTP+VRRP+链路聚合简单配置

实验需求:1.存在两个用户业务网,分布为VLAN 10和VLAN 20,需要SW1作为VLAN 10根桥和VRRP-master设备2.SW2作为VLAN 20根桥和VRRP-master设备3.网段自行规划,全网可达配置思路:两条实例:需要在 MSTP 域中配置…...

asnumpy - 让昇腾NPU和NumPy无缝对接

刚学深度学习那会,最顺手的是 NumPy。各种矩阵运算、广播机制、索引操作,闭着眼睛都能写。 后来跑昇腾NPU,发现 NumPy 代码没法直接跑——torch.tensor 和 np.ndarray 不能混用,数据要手动转来转去,烦死了。 直到我发…...

终极AI图片分层工具:3分钟将任何图片转换为可编辑PSD图层

终极AI图片分层工具:3分钟将任何图片转换为可编辑PSD图层 【免费下载链接】layerdivider A tool to divide a single illustration into a layered structure. 项目地址: https://gitcode.com/gh_mirrors/la/layerdivider 你是否曾经面对一张精美的插画或设计…...

SPT-AKI存档编辑器完整指南:快速定制你的离线塔科夫体验

SPT-AKI存档编辑器完整指南:快速定制你的离线塔科夫体验 【免费下载链接】SPT-AKI-Profile-Editor Программа для редактирования профиля игрока на сервере SPT-AKI 项目地址: https://gitcode.com/gh_mirrors…...

轻松实现颜色与数字的映射:Python 数据处理实战

在数据分析与日常数据处理中,我们经常需要将文本信息转换为数值型数据,尤其在颜色编码、分类标签等场景中尤为常见。 今天,我将分享一个简单实用的 Python 示例,演示如何利用 pandas 库将颜色名称映射为对应的数字,并将…...

免费网盘直链解析工具:九个主流网盘的高速下载完整解决方案

免费网盘直链解析工具:九个主流网盘的高速下载完整解决方案 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 /…...

抖音下载终极指南:免费无水印批量保存完整方案

抖音下载终极指南:免费无水印批量保存完整方案 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖音…...

5G通信实战:手把手教你用Vivado LDPC IP核配置编码参数(附避坑指南)

5G通信实战:FPGA开发中的LDPC编解码参数配置全解析 在5G通信系统的开发过程中,LDPC(低密度奇偶校验)码作为物理层的关键技术之一,其实现质量直接影响着系统的传输性能和可靠性。对于使用Xilinx FPGA进行5G基带开发的工…...

终极iOS位置模拟解决方案:iFakeLocation跨平台免费使用指南

终极iOS位置模拟解决方案:iFakeLocation跨平台免费使用指南 【免费下载链接】iFakeLocation Simulate locations on iOS devices on Windows, Mac and Ubuntu. 项目地址: https://gitcode.com/gh_mirrors/if/iFakeLocation 你是否曾想过将iPhone定位到世界任…...

为OpenClaw智能体工作流配置Taotoken聚合端点的教程

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 为OpenClaw智能体工作流配置Taotoken聚合端点的教程 OpenClaw是一款功能强大的智能体开发工具,它允许开发者构建和编排…...

基于Python + LLM的AI客服协作系统设计与实现

🧑‍💻 博主介绍 & 诚邀关注 作者:专注于 Java、Python、前端开发的技术博主 | 全网粉丝 30 万 在校期间协助导师完成毕业设计课题分类、论文格式初审及代码整理工作;工作后持续分享毕设思路,助力毕业生顺利完成…...

告别盲目复制粘贴:深度解析CW32固件库结构,让你的MDK工程更清晰

告别盲目复制粘贴:深度解析CW32固件库结构,让你的MDK工程更清晰 当你从官网下载CW32固件库压缩包并解压后,面对cw32f030-stdperiph-lib目录下密密麻麻的文件夹,是否感到无从下手?很多开发者习惯直接修改官方例程来开发…...

病理图像分析避坑指南:OpenSlide vs pyvips,选哪个?实测性能对比与场景选择

病理图像分析工具选型实战:OpenSlide与pyvips深度性能评测 在数字病理学领域,全切片图像(Whole Slide Image, WSI)的处理一直是技术挑战的核心。面对动辄数GB的高分辨率病理图像,工具链的选择直接决定了分析流程的效率和稳定性。本文将基于实…...

DeepSeek高并发场景下的云原生弹性架构设计(千万QPS容灾实测数据首次公开)

更多请点击: https://codechina.net 第一章:DeepSeek高并发场景下的云原生弹性架构设计(千万QPS容灾实测数据首次公开) 在支撑DeepSeek大模型推理服务的生产环境中,我们构建了一套面向千万级QPS的云原生弹性架构。该架…...

不只是打驱动:深入解读Intel Arc显卡在Linux下的RBAR技术及其对AI性能的实际影响

深入解析Intel Arc显卡RBAR技术:Linux环境下的AI性能优化实践 当一块Intel Arc显卡插入Linux工作站时,大多数用户的第一反应是寻找驱动安装指南。但真正影响AI推理性能的关键,往往隐藏在PCIe总线的一个名为RBAR(Resizable Base Ad…...

【Perplexity反义词权威解析】:20年NLP专家亲授3大语义逆向推导法,97.3%准确率实测验证

更多请点击: https://intelliparadigm.com 第一章:Perplexity反义词查询 在自然语言处理(NLP)领域,Perplexity(困惑度)是衡量语言模型预测能力的核心指标——值越低,表示模型对测试…...

QT开发避坑:为什么你的QWidget死活收不到mouseMoveEvent?从setMouseTracking到子控件拦截的完整排查指南

QT开发避坑指南:QWidget鼠标移动事件失效的深度排查 最近在重构一个QT项目时,我遇到了一个看似简单却令人抓狂的问题——明明已经调用了setMouseTracking(true),但mouseMoveEvent就是死活不触发。经过两天的调试和源码追踪,终于梳…...

保姆级教程:用HWSD世界土壤数据库为SWAT模型快速搭建土壤库(附SPAW软件计算避坑指南)

从HWSD到SWAT:零基础构建高精度土壤数据库的完整指南 水文模型研究者常面临一个棘手问题:如何将全球土壤数据转化为模型可用的参数?HWSD(Harmonized World Soil Database)作为国际权威土壤数据库,与SWAT模…...

使用 TaoToken CLI 工具一键配置多开发环境的大模型端点

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 使用 TaoToken CLI 工具一键配置多开发环境的大模型端点 在团队协作或跨项目开发中,为不同的 AI 工具(如 C…...

焊接型球头杆端关节轴承鱼眼接头缺陷检测数据集VOC+YOLO格式3205张4类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)图片数量(jpg文件个数):3205标注数量(xml文件个数):3205标注数量(txt文件个数):3205标注类别…...