前情提要
最近关注 IT 网络的可能都知道,腾讯云国际站搞了个 EO 免费 CDN 。差不多是对标 Cloudflare ,但支持 CNAME 解析,并且还有国内节点。通过官方渠道,拿到了一个激活码,为我维护的一个开源项目搞上了 CDN (有 ICP 备案,有国内节点可用)。
故事
因为是一个新的、没经过测试的服务商,所以我只将用于收集错误的 Sentry 改到了 EO 。即使它崩了,用户也不会感知到。在部署一天后,就发现了问题:一个团队成员在访问 Sentry 后台时发现页面加载异常。打开浏览器控制台,发现部分 .js
文件获取失败,返回了 570 状态码。
翻阅了官方文档 异常状态码参考,却发现根本没写 570 的含义。于是我提工单询问原因,结果被告知是触发了限速规则。
但问题是,我们只有几个人会访问后台,流量并不大。即使算上用户端通过 API 提交的错误报告,Sentry 也不能算是一个大流量站点(在我们之前使用的华为云平台上,平均每天的 HTTP 请求量约为 2 万)。
重点来了。我认为这个站点被限速本不应该发生,于是在工单中回复并询问限制的具体因素和条件,也就是:到底是什么触发了限速?结果客服给出如下回复,并直接关闭了工单:
一个还在测试的产品,天天耍猴抽奖给激活码。使用人数这么少的情况下,都能触发如此严格的限速,甚至会影响正常 POST 请求。在用户提出问题后,居然直接以“没有承诺 SLA”为由关闭工单。这真的是一个测试中产品应有的态度吗?连 SLA 都不承诺,那这跟一个 oneman 项目随时跑路的“假云”有什么区别?
总结
别用,随时出问题。免费产品的限制是不透明的、黑箱的,且没有任何 SLA 承诺。付费的话有更好的方案。一个好好做产品的态度都没有,甚至不愿意在用户出现问题后做出合理解释,让用户知道该如何规避或优化使用方式。他但凡愿意为我确认一下是哪一项触发了限制(请求量、带宽,或是其他什么因素),或者在文档里写出一些供用户推测的内容,我都会默默关掉服务,换回原来的 CDN ,而不是来这里写小作文。
国内云服务厂商之所以一直被骂,就是因为一堆隐藏规则和随时变化的条款。用户在使用产品时完全没有稳定的安全感。今天删一个,明天改一个,只能说活该被骂。