A Craftsman

一家多诊室的医院:用类比理解 Go 的 GMP 调度
用"医院看病"的类比讲清楚 Go 的 GMP 调度:G、M、P、全局队列、偷任务、抢占、系统调用、netpoller 和 sysmon 各自做什么,顺带回顾用户态和内核态,对比 Python asyncio、Node.js 和 Go 的调度分层,最后用两个小程序亲眼看看调度器在干什么。
#Go#并发#调度+1
让 Mac 和 iPhone 指定网站走 eSIM:sing-box 分流实录
家里 Wi-Fi 访问一部分境外网站不稳定,iPhone 上的境外 eSIM 访问正常但流量很少。这篇记录怎么让 Mac(通过手机热点)和 iPhone 自己都只把指定网站分给 eSIM,其他流量照常走 Wi-Fi。最后两台设备共用一份 sing-box 配置,用 iCloud 同步,规则全部来自社区规则集,基本不用手动维护。附完整配置、一路补过的漏洞和换设备时的快速清单。
#macOS#iOS#网络+2
给 2016 款 MacBook Pro 装上 macOS Sonoma:OpenCore Legacy Patcher 实录
家里有一台 2016 款 15 英寸 MacBook Pro,官方最高只能升到 macOS 12,装不了要求 macOS 13 以上的新软件。用 OpenCore Legacy Patcher 把它升到了 Sonoma 14,这篇记录选版本的考虑、安装步骤,以及装完后遇到的屏幕闪烁、Wi-Fi 消失、指纹失效、iCloud 退不出去、睡眠唤醒死机这些坑。
#macOS#OpenCore#Mac
让医生别闲着:用 Python 协程把成本数据产出提速十倍
在百度云 CDN 做成本分摊时,日均要对 Palo 发 80 万次以上的查询,大部分时间都花在等结果上。这篇用"医院看病"做类比讲清楚异步非阻塞,顺带对比多进程、多线程、协程三种并发方式,最后讲我先用单进程协程(asyncio + aiomysql)并发查询,再加上多进程、用队列汇总结果,把数据产出时间缩短到原来的十分之一的过程;最后对比浏览器、Node.js 和 Python asyncio 的事件循环调度原理。
#Python#并发#协程
CDN 新客户接入前的价格测算:用波形拟合算出最低成本价
火山 CDN 经营分析平台上的价格测算功能:销售拿到一个新客户的带宽打点,平台把它和大盘拟合,判断客户是否错峰、算出边际超卖倍数,再结合资源诉求的加权成本和包头系数,给出不同计费方式下的最低成本价。这篇讲它的输入、计算过程、示例和后续的优化方向。
#CDN#计费#FinOps+1
饥荒驯牛与三元相图:把游戏设定搬进数学
饥荒联机版里,牛驯好后是什么形态,由战牛、行牛、肥牛三种驯势的占比决定。三个占比加起来是 100%,正好对应正三角形里任意一点到三边的距离之和恒等于高,顺着这个想法就到了三元相图,普通牛的区域是中间那个小三角。这篇记录这个发现过程,以及按游戏代码算出来的驯普通牛方法。
#饥荒#游戏#数学
CDN 的错峰与超卖:为什么厂商能把同一份带宽卖好几次
在 95 计费下,一个新客户接入后,大盘的 95 可能几乎不涨,这就是错峰客户。它让 CDN 厂商可以把同一份带宽卖给多个客户,也就是超卖。这篇用模拟数据讲清楚错峰和超卖,以及衡量它们的两个指标:单个客户的边际超卖倍数,和整个平台的超售比。
#CDN#计费#FinOps
CDN 是怎么收费的:从流量、95 峰值到日峰月均,厂商和客户两边看计费
我在百度云 CDN 做过客户账单,在字节做过火山 CDN 的计费推量,也做过融合 CDN 向多家厂商采购的对账和成本分摊,厂商和采购两边都经历过。这篇整理 CDN 常见的计费方式:流量、带宽峰值、95 峰值、日峰月均、月第四峰值、夜间减半、闲忙时、请求数,以及计费区域、包头系数这些容易忽略的细节,并用一个月的模拟数据对比不同方式算出来差多少。
#CDN#计费#FinOps
一个接口管多家 CDN:多厂商刷新预热的适配层设计
我在字节负责火山多云 CDN 和融合 CDN 的多厂商内容管理(刷新、预热)。这篇讲怎么用适配器模式屏蔽厂商差异,怎么在多云层做配额和限频,怎么按每家厂商的限制拆分任务,怎么用 RocketMQ、Redis、MongoDB 实现分布式下发、共享配额、重试和进度汇总,以及后来如何借助 AI 把新厂商接入时间缩短到一两天。
#CDN#系统设计#Go+2
从业务里长出来的状态机:一个资源建设审批流平台的设计与反思
我在字节从零设计开发过一个 CDN 资源建设流程平台,管理物理机、带宽、IP 从需求发起到交付的全过程,状态机和审批流都是自己实现的。这篇记录当时的设计:多级评审、乐观锁、基于 MongoDB 的变更 diff 审计、父子任务自动结单、事务化回滚、按平台协商的轮询;以及现在回头看,状态机和业务规则应该怎么解耦。
#状态机#工作流#Go+1
Profile Image of the Author
tracerZzz
想当木匠的程序员!
分类
标签
站点统计
文章
19
分类
9
标签
48
总字数
79,096
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
ESA Pages
博客版本
Firefly v6.16.8
文章许可
CC BY-NC-SA 4.0

当前页面没有目录

文章目录

当前页面没有目录