已阅读
Spotify是如何调整CDN加速服务来实现闪电般的快速

-
内部测试是关键。在将一些次要的服务转移到Fastly之后,该团队意识到他们需要首先转移关键的内容交付服务。这里包括任何面向公众的内容,如音频、视频、专辑封面和艺术家图像。他们检查并清理了所有的传输路径VCL,并修复了自动化流程中的潜在问题。
-
保护安全内容。安全是Spotify最关心的问题,保护用户数据是建立信任不可或缺的前提。将日志中的密码等用户敏感数据删除是一项至关重要的举措。CDN小组使用Fastly的Edge字典来维护密钥存储值,这个值是无法直接人工读取的且仅在VCL中被引用。即使在管理工具中查看VCL,开发人员也只能看到变量而不是私有数据。
-
注意API调用限制。即使有很高的限制,一次调用太多的API也会导致部署失败。仔细规划API调用将有助于确保一切服务顺利运行。
-
验证所有的事情。当一个团队提交一个新服务时,CDN团队会验证一些可保持服务正常运行的关键细节。他们给团队提供了一个测试文件,这将帮助他们侦测与配置或存储同权限等相关的问题。
-
禁止写入存储桶。还有很重要的一点就是,小团队不能允许别人向创建CDN端点发送put请求并覆盖文件,因为凭证是允许写入到存储桶的。(幸运的是,Spotify的所有服务都不需要写入原始信息。)
-
进行灰度测试。部署后,CDN团队在internet上进行端到端测试,并传输他们知道应该存在的文件。自定义的VCL可确保文件不会被缓存,因此灰度测试路径允许它们到达源端并读取正确的信息。如果在部署后发现了问题,则可以自动将应用回滚到以前的版本并开始调试。
-
实施良好实践。如果团队想要通过HTTP进行不间断的传送,那么他们需要提出请求。这使得CDN团队有机会讨论团队需求并确定合适的用例。他们也会要求其他团队给处理个人数据的服务贴上标签,以便他们可以更好地遵守GDPR,并促进他们对缓存与清除方面的默认设置进行合理调试。
-
让别人容易做到。没有人会使用一个需要花大量精力维护的系统。我们认为,最好要做一些从长远来看可让每个人都能从中受益的工作。我们使用的一种策略是主动识别边缘的CDN端点并提供修改代码的服务,以便拥有这些端点的团队能够更容易地将它们的服务快速迁移到Fastly上。这使得整个组织的团队都能够以更快的速度和更敏捷的方式迁移服务。
