javascript - 如何在每个具有多个 vCPU 的多个 Google App Engine 实例之间共享缓存?

标签 javascript node.js google-app-engine caching redis

情况:

我正在尝试为我的网站需要发出的限速第三方 API 请求实现缓存。

显然,基本的解决方案如下:

https://www.npmjs.com/package/node-cache

甚至不会在 CPU 之间共享缓存,更不用说在实例之间共享缓存了吗?

对吗?

如果是,我如何在实例之间共享缓存,以便跨实例为我的网站提供一个统一的缓存?

在谷歌搜索了一段时间后,Redis 似乎是一个解决方案。但是根据我收集到的信息,我必须将 Redis 托管在它自己的专用实例上,以便缓存在我的网站 VM 实例中是唯一的?

如果托管 Redis 的实例过载并且还需要自动扩展到多个实例怎么办?


问题:

如何在我的网站的 VM 实例之间实现共享缓存?

最佳答案

您可以向您的 GAE 应用程序添加第一代标准环境服务,该服务将:

  • 充当您的 node.js(或其他第二代标准环境或灵活环境)服务的缓存服务,并在幕后使用自己 ​​GAE memcache service ,仅在第一代标准环境中可用。
  • 甚至可以让自己成为限速的第 3 方 API 调用,以这种方式正确协调缓存结果可能会更简单
  • 配置自动缩放以解决可扩展性问题

关于javascript - 如何在每个具有多个 vCPU 的多个 Google App Engine 实例之间共享缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53239542/

相关文章:

javascript - 使用js函数的原型(prototype): How to know the prototype. js版本?

javascript - fs.writeFile 不覆盖文件

javascript - NodeJS - multer - 根据请求属性更改文件名

node.js - Nodejs 6.2 自执行脚本参数

Eclipse:Web inf/lib 上的 App Engine SDK JAR

javascript - 灰色框出现在模态框中嵌入的谷歌地图的部分中

javascript - 有没有办法用 JavaScript 修改 CSS 背景颜色的不透明度值?

node.js - 如何使用 AJAX 将 Base64 图像发送或流式传输到 Node.js Express 服务器?

spring - 如何设置 Google Cloud 以使用 AngularJS 客户端和 Java 服务器为 Web 应用程序执行行为驱动开发 (BDD)?

java - Ear项目结构Eclipse下的两个Java动态Web项目之间共享src文件夹