【问题标题】:Caching authentication calls缓存身份验证调用
【发布时间】:2019-12-13 01:19:45
【问题描述】:

想象一下,我们有一个身份验证服务和两个通过 http 调用使用它的应用程序。我们应该在哪里放置缓存?

  1. 只有身份验证服务有它的缓存(例如 redis)

  1. 缓存是一号和二号应用程序的一部分

【问题讨论】:

    标签: authentication caching architecture microservices


    【解决方案1】:

    将缓存放入应用程序是一种判断。如果它可以缓存在内存中,它会更有效率,但它需要权衡,因为它可能是无效的。这最终是基于每个案例的,并且取决于您的应用程序所需的安全性。

    您必须弄清楚您的缓存可接受的 TTL 是多少,它可能介于零和永恒之间。如果它为零,那么您已经回答了您的问题,并且应用程序中的缓存层根本没有任何价值。

    大多数应用程序都可以接受某种程度的陈旧性,至少在几秒钟的量级。如果您在进行银行交易,您可能无法摆脱这一点,但如果您正在创建社交媒体应用程序,您的 TTL 可能至少在几分钟范围内,可能是几小时或几天。

    只是一点建议,因为您使用 HTTP 进行实施,所以请看一下使用 HTTP 中的缓存控制,您的客户端可能会开箱即用地支持它,而且大多数情况下大而复杂的问题(缓存过期、存储大小等)将由比您早的人解决。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-25
      • 2014-06-14
      • 2018-11-23
      • 1970-01-01
      • 2012-08-01
      • 2010-09-22
      • 2015-12-07
      • 1970-01-01
      相关资源
      最近更新 更多