开发者社区 > 云原生 > 容器服务 > 正文

aliyun-acr-credential-helper中expiring-threshold的问题

在阅读免密控件介绍中,看到一个配置字段expiring-threshold是控制本地Cache Token过期阈值。 不是很理解,个人两个理解: + 是定时拉取临时账号密码的定时频率,默认15min后 重新拉取。 + 是本地token缓存的时间,即减少访问acr api使用的辅助缓存存储。 与定时频率无关。 15min内所有的定时拉取都会从本地cache取。

想要了解一下,这个配置的含义。

展开
收起
小草儿要睡觉 2023-02-06 15:44:05 244 0
2 条回答
写回答
取消 提交回答
  • 在阅读关于免密控件的介绍中,expiring-threshold 字段通常是指缓存的Token临近过期时,系统会提前多少时间重新拉取新的Token,以确保后续操作可以顺利进行而不受Token过期的影响。

    根据您提供的描述,您的第一个理解更接近于实际用途。expiring-threshold 设置了一个阈值(默认为15分钟),当缓存的Token距离过期还有这么多时间时,系统会自动重新拉取新的Token,以避免Token在使用过程中突然失效。

    简单来说,就是如果Token有效期是1小时,expiring-threshold是15分钟,则在Token使用了45分钟之后,系统就会尝试去重新获取新的Token,以保证连续性使用不受Token过期影响。

    至于您的第二个理解,expiring-threshold 不直接参与定义本地Token缓存的总存活时间,但是确实影响Token缓存刷新的间隔。如果expiring-threshold设置的较短,则意味着系统会更频繁地去刷新Token,相对的,如果设置的较长,则系统刷新Token的频率会降低,但风险是一旦Token提供方出现问题,可能导致Token过期后较长时间内无法获取更新,影响业务操作。

    这个配置的目的就是为了减少对ACR API的访问次数,同时确保Token始终是有效的。这一点与您提到的“15min内所有的定时拉取都会从本地cache取”相符合,即在Token未到达过期阈值之前,都是从本地缓存中取得Token,不会去请求新的Token。

    2024-02-26 17:35:24
    赞同 展开评论 打赏
  • 不踬于山,而踬于垤。

    我理解在expiring-threshold中本地缓存Token后,如下次访问在Token A的有效时间内,可直接使用Token A;反之若Token A已经过期,则获取新的Token并更新本地缓存 Token。

    2023-02-08 18:00:56
    赞同 展开评论 打赏
问答分类:

国内唯一 Forrester 公共云容器平台领导者象限。

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载