Google 的应用引擎上的有状态应用程序
Stateful application on Google's app engine
我需要 运行 GCP 上的 Geth 节点。我在使用 VM 实例和 运行 在其中设置节点或尝试 App Engine Flexible Env 之间进行辩论,我选择了后者,由于其他原因没有使用 K8s。 App Engine 一切正常,但我只是注意到我无法将数据保存在磁盘上(有点像 K8s 上的 PersistentVolumeClaim
)我看到我们可以有卷但是那些是临时的,而我需要一个在版本和所有内容之间持续存在的,这是因为同步区块链需要一些时间,理想情况下我不会每次部署新版本时都这样做,您可以指定一个数据目录,其中所有导入的块将被保存到并在需要时检索,这在 App Engine 上可能吗?
否 - App Engine 是一种“无服务器”产品,因为您可以获得动态缩放的临时实例 运行 您的代码。对于数据存储,您必须使用合适的API。对于您的 use-case,听起来有两个选项看起来很有趣:
- Cloud Storage:更适合大型、动态性较低的数据,您可以承受稍高延迟的访问。
- Memorystore:更适合需要以低延迟访问的小型、高度动态的数据
我需要 运行 GCP 上的 Geth 节点。我在使用 VM 实例和 运行 在其中设置节点或尝试 App Engine Flexible Env 之间进行辩论,我选择了后者,由于其他原因没有使用 K8s。 App Engine 一切正常,但我只是注意到我无法将数据保存在磁盘上(有点像 K8s 上的 PersistentVolumeClaim
)我看到我们可以有卷但是那些是临时的,而我需要一个在版本和所有内容之间持续存在的,这是因为同步区块链需要一些时间,理想情况下我不会每次部署新版本时都这样做,您可以指定一个数据目录,其中所有导入的块将被保存到并在需要时检索,这在 App Engine 上可能吗?
否 - App Engine 是一种“无服务器”产品,因为您可以获得动态缩放的临时实例 运行 您的代码。对于数据存储,您必须使用合适的API。对于您的 use-case,听起来有两个选项看起来很有趣:
- Cloud Storage:更适合大型、动态性较低的数据,您可以承受稍高延迟的访问。
- Memorystore:更适合需要以低延迟访问的小型、高度动态的数据