Consul ACL缓存问题

时间:2019-06-26 14:20:22

标签: acl consul

我和我的同事当前在Consul ACL中遇到问题。我们在A位置有一个ACL主数据中心,在B位置有另一个数据中心与之连接,并有一个与C相连的客户端C。我们在A中设置了一个KV ACL并验证它在C中是否可用。在/etc/consul.d/consul.json中将acl.policy_ttl设置为(例如)1800s或259200s。然后,我们关闭A并验证我们仍然可以从C访问(写入)KV存储。在某个看似随机的时间之后,当从C写入KV时,我们开始收到消息“找不到ACL”。我们将其配置为可靠地将ACL缓存在B中固定的一段时间,以便在A不可用时C仍可以使用KV存储吗?

我们当前的领事版本是1.4.4。您在此问题上可以提供的任何帮助,我们将不胜感激。

1 个答案:

答案 0 :(得分:0)

您还需要设置acl.token_ttldocumentationacl.policy_ttl缓存策略,但是acl.token_ttl设置发布的ACL令牌的缓存,这也是您想要的。通过edfault,此Token TTL是30秒,所以我想在您的情况下random time不到1分钟(数据中心B缓存了30s,客户端C缓存了30s)。

希望有帮助。