我已经实现了实例 mem-caches,因为我们有非常静态的数据,而且与实例缓存相比,memcache 不是很可靠而且相当慢。
但是,在某些情况下,我想使实例缓存无效。有什么办法可以查到它们吗?
示例管理员 A 更新实例 A 上的大型游戏表,该实例查找所有其他实例并使用简单的 REST api 更新数据。
我已经实现了实例 mem-caches,因为我们有非常静态的数据,而且与实例缓存相比,memcache 不是很可靠而且相当慢。
但是,在某些情况下,我想使实例缓存无效。有什么办法可以查到它们吗?
示例管理员 A 更新实例 A 上的大型游戏表,该实例查找所有其他实例并使用简单的 REST api 更新数据。
TL;DR:你不能。
与后端不同,前端实例不可单独寻址;也就是说,您无法对特定的前端实例进行 RESTy URLFetch 调用。即使它们是,也没有用于枚举前端实例的内置机制,因此您需要自己滚动,例如在数据存储中保留一个活动实例列表并在预热请求中添加到它并在重复连接失败时删除。但是此时您刚刚实现了一个速度较慢、成本更高且可用的内存缓存服务更少。
如果您将所有缓存服务移动到后端(使用您的实例本地静态,或者,例如,将用 Go 编写的 memcached作为不同的应用程序版本运行),那么您确实会获得一定程度的控制(或至少是透明度)关于驱逐。可用性、速度和成本仍可能会受到影响。