大家是如何进行CDN资源自动刷新??

发布于 2022-09-03 08:59:22 字数 156 浏览 27 评论 0

我们有个业务的静态资源变更非常频繁,于是便用了inotify去监控文件变更来触发自动刷新的接口。随便业务量越来越大,发现inotify非常已经应付不过来这么大量的文件了,经常会有资源源站更新了,没有自动刷新CDN。

大家在这一方面都是用的什么方法来解决呢,可以一起分享讨论一下!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

坏尐絯 2022-09-10 08:59:22

这个可以考虑两端来处理,一端在CDN,使用CDN服务方提供的api来刷新,你现在使用的就是这种情况。还有一端,就是在使用端处理,当然也就是编码这一侧。通常的处理方式也是监测文件变化,通过md5方式重命名文件,并替换引用。
第一种方式,很显然主动权并不在自己这里,如果CDN服务要处理大量这种刷新(这个刷新可能不仅仅只有你的,还有其他用户的,这种操作通常会排队处理),很有可能就会出现没有刷新的情况(不能排除CDN服务方出错啊之类的情况)。
第二种方式,主动权在自己手里。但是这种真操作起来会有一些难度,如果涉及到的资源不仅仅是静态文件中使用,可能是服务器端提供的地址之类的话。总之,还是要根据自己的业务来。
因为第一种你们已经实现了,可以考虑二者结合。

其实,你还有一个点,就是需要大量文件操作的时候,很显然不论是哪种方式都避免不了。
你们有没有思考过,为啥会有大量文件需要更新呢?因为CDN想要的一个就是它的缓存,这种大量文件(频繁)更新,是不是自己业务上还需要改善的地方呢?

要知道CDN如果数据量大了之后,收费还是不便宜的,其实我也发现很多公司,CDN上放了太多垃圾东西。

洛阳烟雨空心柳 2022-09-10 08:59:22

首先,我觉得LZ应该思考下为什么会变更得这么频繁? 比如,如果只是在调试的话,为什么不能自己搭个测试环境呢?再如是需求变更比较多,那就应该考虑定期上线..

其次,inotify确实不太好用,偶是通过push到git仓库的时候通过git钩子触发jenkins自动构建来刷新的,这样一般都不会有问题。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文