如何确保多个GCP云内存存储实例之间的一致性?

问题描述

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

谢谢

解决方法

您可以为此使用PubSub。

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

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