【问题标题】:Cache invalidation across servers跨服务器的缓存失效
【发布时间】:2016-10-18 21:44:31
【问题描述】:

我有 6 个 Web 服务器,由于缓存不一致而给我带来了问题。我正在考虑构建一个缓存失效服务,以便有一个主题,所有服务器都可以在该主题上发布消息以使对象失效。我正在考虑使用 Amazon SNS 来制作主题。

现在服务器接收失效消息,我对以下内容感到困惑:

  1. 我是否应该使用 SQS 队列让服务器接收消息。
  2. 我是否应该使用 HTTP 端点,然后在该路由上构建一个使缓存无效的 api。 您能否强调这两种方法或任何其他可能对我有益的方法的优缺点。

【问题讨论】:

    标签: amazon-web-services caching amazon-sqs amazon-sns cache-invalidation


    【解决方案1】:

    对于您的用例,http 端点是更好的解决方案。您将消息推送到 SNS,每个订阅的端点都会在您托管的新 api 端点上被调用,这会清除缓存。

    SQS 在这里不是最好的用例 - 为了使用它,您需要有 6 个单独的队列(或每台服务器一个),并且您需要在每个队列上都有一个始终运行的应用程序在后台检查新消息并“拉取”消息 - http 端点是“推送”操作,这就是您想要的。

    【讨论】:

    • 非常感谢。有件事我忘了提。我使用 NGINX 将任何请求重定向到 6 台服务器之一。如果我使用的是 HTTP 端点,那么该主题最终只会访问其中一台服务器。我也不确定我的应用程序将在哪个端口上运行。您能否建议我绕过 NGINX 服务器或即时找出端口然后访问服务器。
    猜你喜欢
    • 2013-11-26
    • 2019-02-25
    • 1970-01-01
    • 1970-01-01
    • 2013-01-23
    • 1970-01-01
    • 1970-01-01
    • 2021-12-05
    • 2017-04-24
    相关资源
    最近更新 更多