akamai使用客户端工具刷新缓存
2021-04-14
配置客户端信息
登录akamai页面,创建api token,稍后配置客户端用
vi /root/.edgerc
[ccu]
client_secret = rsuw2K7XtjixxxxxxxxxxxxxxxxxxxxxZryQQxe0gSyOo=
host = akab-zrks7wwxxxxxxxxxxxc4tuvfmr5hvtty.luna.akamaiapis.net
access_token = akab-yexxxxxxxxx2eit-4qu4txnj4nygwtje
client_token = akab-tfvxxxxxxxxxxxxxjn-mb6fl76sr5zs6drq
[default]
client_secret = rsuw2K7XtjixxxxxxxxxxxxxxxxxxxxxZryQQxe0gSyOo=
host = akab-zrks7wwxxxxxxxxxxxc4tuvfmr5hvtty.luna.akamaiapis.net
access_token = akab-yexxxxxxxxx2eit-4qu4txnj4nygwtje
client_token = akab-tfvxxxxxxxxxxxxxjn-mb6fl76sr5zs6drq
安装客户端
wget https://github.com/akamai/cli-purge/releases/download/1.0.1/akamai-purge-1.0.1-linuxamd64 && mv akamai-purge-1.0.1-linuxamd64 akamai-purge && chmod +x akamai-purge && mv akamai-purge /usr/bin/
清理缓存
akamai-purge默认ccu
,使用default
需要添加选项参数--section default
,支持多个地址同时刷新,空格分隔
缓存的更新方式有两种:
- invalidate, 在CDN节点标记为过期但不删除, 下一次资源请求的时候重新向源站发起header请求, 对比last-modified时间判断资源是否更新, 如果时间不同, 则证明资源更新, 那么返回新内容并更新缓存, 否则依然返回旧缓存
- delete, 在CDN节点直接删除, 下一次资源请求时直接请求资源内容, 返回给user并更新缓存
可以看到, invalidate的优势是在发起header请求的时候资源消耗更小, 但是在某些情况下会存在判断不准确的情况, delete则可以确保清缓存后的返回内容是绝对正确的, 所以推荐使用delete方式清缓存
akamai-purge --section default delete http://1.demo.com/1.zip http://2.demo.com/2.zip
Purging...... [OK]
Purged 2 objects (ETA: 5 seconds)
Purge ID: eiup-76VuXJTjpcQtd9Nos2GQt8