上线一周:1000用户、3万次编辑、一个价值500美元的Bug

0 阅读1分钟

做了一个小项目:rename.world —— 一个可以给全球任何地点重新命名的网站,用户可以提议名字并投票。

技术栈

  • 前端:SvelteKit
  • 地图:MapLibre GL
  • 后端:Cloudflare Workers
  • 数据库:Cloudflare D1
  • 地图数据:40GB PMTiles,托管在 Cloudflare R2(Range Requests,按需加载)

第一周数据

  1. 1000 注册用户
  2. 30000+ 次重命名
  3. 1000亿次数据库行读取(没错,是bug)

那个500美元的教训

写了一条查询语句,看起来没问题,跑起来也正常。但 D1 是按扫描行数计费的,不是按返回结果。第二天早上醒来,看到账单差点晕过去。

当天修复了,但学费交了。

教训:用 D1 之前先搞清楚它的计费逻辑。

其他"惊喜"

  • 有人一夜之间把比利时一半的城市都改成了同一个名字,这个词现在被永久封禁了
  • 还遭遇了一次恶意攻击,整张地图被刷满了脏话。因为所有编辑都绑定了账号,直接删号回滚搞定
  • 本来觉得就是个玩具项目,没想到大家还挺喜欢的。继续看看能走多远吧。

项目官网:rename.world