【发布时间】:2021-07-18 03:30:14
【问题描述】:
问题: Cloud SQL 实例无限期地运行并且托管成本很高。
目标:在不影响数据库可用性的同时节省资金。
已经快四年了,Google Cloud 还没有满足这个已经通过 Aurora RDS 在 AWS 上实施的功能请求。
由于自动缩放到零的按需 Cloud SQL 似乎不会很快出现,因此以下策略会奏效吗?
- 拥有 Cloud SQL 实例、一个 Baby 和一个 Papa。它们遵循主/从复制原则,带有扭曲。宝宝 实例很小,vCPU 很少,内存也很低,它总是运行,但是 这样做很便宜。但是,Papa 实例的 vCPU 和高 内存,但仅在需要时运行。
- 首先,只有 Baby Cloud SQL 实例在运行,因此它是接受读/写的主实例。 Papa Cloud SQL 实例未运行。
- 由于我使用的是标准应用引擎, 将在没有流量的情况下自动缩放到零,安排一个 cron 作业 如果不存在应用引擎实例,则每 10 分钟检查一次。在这种情况下, 该应用程序没有流量。如果不是这种情况,则启动 Papa Cloud SQL 实例。一旦启动,Papa 实例 成为接受读/写的主人,而婴儿实例 成为只能读取的从属副本。
- 如果 cron 作业检测到应用引擎有零个实例在运行,这意味着没有流量。因此,Papa Cloud SQL 实例是 停止,Baby Cloud SQL 副本被提升为主副本,并且可以接受读/写。
- 这样,昂贵的 Papa 实例按需运行。如果有交通 当 Papa 实例停止或重新启动时出现峰值,Baby 实例仍将能够响应请求。
此策略可确保昂贵的 Papa Cloud SQL 实例仅在流量下运行。 这种 Baby-Papa 动态是否可以在 Google Cloud 上实现?
【问题讨论】:
-
有趣的提议,我想知道“爸爸”实例在被召唤时更新其数据需要多长时间。
-
如果您计划使用此实例至少一年,您是否考虑过
committed user discount- cloud.google.com/sql/cud?这种策略对你来说会更便宜吗? -
@NoCommandLine 是的,有折扣的活动我需要更便宜的解决方案
-
1) 当我们不接受现状时,就会产生有用的发明。但是,对于 Cloud SQL 等托管服务,请按设计使用它们。您的策略不适用于 Cloud SQL,因为该服务是为企业类型的应用程序而不是无服务器应用程序设计的。如果您想要无服务器 SQL,请使用无服务器 SQL 服务。今天,您可以轻松混合和匹配云供应商的产品。
-
2) SQL 数据库使用内存来显着提高性能。 Serverless SQL 失去了这个特性,导致性能下降。在设计数据库时,除了价格之外,还有很多因素需要考虑。
标签: google-app-engine google-cloud-platform google-cloud-functions google-cloud-storage google-cloud-sql