【问题标题】:How to ensure consistency between multiple GCP cloud memory store instances?如何保证多个 GCP 云内存存储实例之间的一致性?
【发布时间】:2020-09-14 18:52:13
【问题描述】:

我的应用程序在云内存存储中缓存了一些数据。该应用程序在同一区域上运行多个实例。 AppInstanceA 缓存到 MemStoreA,AppInstanceB 缓存到 MemStoreB。 应用程序中的特定用户操作应执行缓存驱逐。 GCP 中是否有一个选项可以驱逐 MemStoreA 和 MemStoreB 上的条目,无论该操作是从哪个应用实例触发的?

谢谢

【问题讨论】:

  • AFAIK,不,这是不可能的,你必须自己编码。或者使用相同的 memorystore 实例。
  • 感谢纪尧姆·布拉奇尔。我们正在探索 pub/sub 模式来解决这个问题,但想确认是否存在任何内置解决方案。感谢您的回复。
  • PubSub 模式? “模态”是什么意思?
  • 对不起,我的意思是使用 gcp pub sub 来触发缓存删除。

标签: google-cloud-platform redis google-cloud-memorystore


【解决方案1】:

您可以为此使用 PubSub。

  • 创建主题
  • 当你有一个要失效的密钥时在主题中发布
  • 为每个内存存储实例创建 1 个订阅
  • 使用指定要使用的实例的环境变量为每个订阅插入 1 个函数(每次相同的函数)

像这样,该函数是并行触发的,您可以预期大致在同一时间使所有内存存储实例中的键无效。

【讨论】:

  • 非常感谢。是的,这与我们的设计非常相似,使用具有发布/订阅和云功能的事件驱动架构。不确定是否存在已经存在的功能。非常感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多