首页 > 解决方案 > 如何保证多个 GCP 云内存存储实例之间的一致性?

问题描述

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

谢谢

标签: google-cloud-platformredisgoogle-cloud-memorystore

解决方案


您可以为此使用 PubSub。

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

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


推荐阅读