本页面简要介绍了 Memorystore for Memcached 的维护。
如需了解如何安排维护窗口,请参阅查找和设置维护期。
概览
Memorystore for Memcached 会定期更新实例,以确保服务可靠、高性能、安全且处于最新状态。其中大部分更新都在 Memcached 实例启动和运行期间执行。但是,某些系统更新需要短暂中断服务。这些更新称为维护。维护通常分为以下类别:
Memorystore 功能。如需发布某些功能,Memorystore 需要进行维护更新。
操作系统补丁。我们持续监控操作系统中新发现的安全漏洞。发现漏洞后,我们会修补操作系统,以防范新风险。
数据库版本升级。维护可以包括 OSS Memcached 补丁次要版本更新,其中不包含重大更改或不兼容更改。
用户可以通过两种方式执行维护:自动或手动。借助维护期功能,用户可以指定可自动安排和执行维护的周期性时间范围。对于希望更精细地控制实例维护的用户,手动维护提供了 gcloud 界面,可根据您所需的时间表和逻辑更新实例。
维护的影响
在维护期间,Memorystore for Memcached 集群会出现连接中断和完全清空缓存。
集群中的节点会在整个维护窗口期间按顺序均匀更新。更新节点时,缓存将被刷新,并且数据在维护后不会恢复。停机时间通常为每个节点 5 分钟左右。
当节点进行维护时,系统会断开该节点的连接并将其重置。您应创建一个包含指数退避算法的重试机制,以便在发生维护后将应用重新连接到节点。
对于选择手动维护的用户,您可以控制集群中各个节点的更新时间。
维护设置
借助 Memorystore,您可以将维护配置为在对应用最有利的时间进行。为此,您可以配置维护窗口。
维护窗口按 Memorystore 实例设置,支持以下配置选项:
- 星期几。指定维护日期。
- 开始小时。维护开始的时刻。
- 时长。维护窗口的时长,介于 3 小时到 8 小时之间。
如果为实例配置了维护窗口,系统会根据这些偏好设置安排日后的自动维护。如果未为您的实例指定维护窗口,则维护可能会随时开始,而无需提前通知。
维护示例
假设您是管理购物车服务的零售商的开发者。您有一个用于生产环境的 Memorystore for Memcached 实例。您希望在实例处理最低流量时(大约在星期日零点)进行维护。
在这种情况下,您需要将生产实例的维护窗口设置为:
- 星期几。星期日。
- 开始小时。凌晨 1 点。
- 时长。3 小时。
在本例中,我们选择了允许的最短时长,以确保在流量较低的这段时间内进行维护。对于全天候稳定流量的应用,最好指定较长的时长,因为这样可以更均匀地分散缓存刷新的影响。对于对任何服务影响特别敏感的应用,我们建议您手动执行维护。
即将进行的维护通知
在安排维护之前,您可以至少提前一周向您的电子邮件地址发送有关即将进行维护的通知。如果您要为通知设置电子邮件过滤条件,则电子邮件标题为 "Upcoming maintenance for your
Cloud Memorystore instance [your-instance-name]"
。
默认情况下,系统不会发送维护通知。如果您希望接收有关即将进行的维护的通知,则必须执行以下两项操作:
通知会发送到与您的 Google 账号关联的电子邮件地址。您无法配置自定义电子邮件别名(例如团队电子邮件别名),也无法订阅除您自己的电子邮件地址以外的其他电子邮件地址。
订阅后,您可以为给定项目中具有维护窗口的所有 Memorystore 实例选择接收维护通知。每个实例都会收到一条通知。
如需了解如何查找计划性维护,请参阅查找计划性维护。
重新安排维护
如果您的实例具有维护窗口,则您可以在当前安排维护之前随时重新安排维护。例如,如果您在当前安排的维护期间启动了新服务,则可能需要在启动几天后重新安排维护窗口。
只要是在原定安排的时间后一周内,您就可以多次重新安排维护。对于新的维护窗口,您可以作出一些安排选择:
立即更新。您可以立即将更新应用于实例,而不是等待安排的维护窗口。
推迟到下一个计划的时段。这会将维护推迟一周。
自定义日期和时间。这样,您可以选择在原定安排的维护时间后的一周内的任意特定时间。
重新安排维护具有以下额外行为:
如果当前时间距离目前安排的维护不到一个小时,则无法重新安排维护。
您无法通过单次操作为多个 Memcached 实例重新安排时间表。必须单独重新安排。
如需了解如何重新安排维护,请参阅重新安排定期维护。
最佳做法
- 为所有生产实例设置维护窗口并订阅通知。
- 选择合适的时长。节点会在整个指定时长内按顺序更新。选择时长较长时,节点缓存刷新会在较长的时间段内进行,对应用的影响会较小。不过,时长越短,更新完成速度就越快,这对于有明确低流量时段的应用或对任何级别的缓存中断敏感的应用来说可能很有用。
- 采取措施,使系统内存利用率指标在计划维护时达到 50% 或更低。为此,您可以安排实例流量较低的时间,或在维护窗口内临时增加实例大小,以使系统内存利用率指标达到 50% 或更低。
- 实现包含指数退避算法的重试机制,以便在维护后将应用重新连接到实例。
- 利用重新调度功能,在更新可用后在非生产实例上测试更新
手动维护
虽然我们预计通过维护时间段进行自动维护可满足大多数 Memorystore 用户的要求,但手动维护提供了用于更新实例的 gcloud 界面。通过使用此接口,您可以根据应用最适合的速率和时间单独更新集群节点。由于通过调用 gcloud 接口更新每个节点,因此系统会刷新各个节点缓存并断开连接,这与自动维护类似。
如需执行手动维护,您必须先为实例设置维护窗口并订阅维护通知。有更新可用后,您会收到一封电子邮件通知,其中包含实例的预定维护时间。此时,您可以开始手动将更新应用于实例。如果 Memorystore for Memcached 集群未在安排的维护时间之前完全更新,则所有剩余的集群节点都会在维护窗口内自动更新。如果您在安排的维护时间之前已完全更新实例,则在指定的维护窗口期间,实例不会受到任何影响。
常见问题解答
以下是关于 Memorystore for Memcached 维护政策的一些常见问题:
维护对 Memcached 实例有何影响?
在维护期间,集群中的节点会在维护窗口内依序更新。每个节点都会进行缓存刷新,每个节点的停机时间约为 5 分钟。如需详细了解影响,请参阅维护的影响。
维护更新的持续时间是多久?
用户可将时间范围的持续时间配置为 3 到 8 小时。节点更新会在指定时长内均匀分布。
如何知道实例的计划维护时间?
我们建议您订阅通知以了解何时为您的实例安排维护。您也可以在 Cloud 控制台中手动检查。如果 Cloud 控制台为空并且您已设置维护窗口,则表示您尚未安排即将进行的维护。
我何时会收到即将进行的维护的通知?
如果您订阅了维护通知并设置了维护期,则至少会在维护事件发生前七天收到电子邮件提醒。
我可以将维护推迟多长时间?
为实例安排维护之后,您可以立即开始更新实例,也可以将更新从最初安排的维护时间开始推迟最多七天。例如,如果将维护安排在 10 月 11 日晚上 11 点 15 分,则可以推迟到 10 月 18 日晚上 11 点 15 分。如果您不执行任何操作,维护将在所安排的时间进行。
如需了解详情,请参阅重新安排定期维护。
实例的 IP 地址在维护期间是否会发生变化?
不会。Memcached 实例的 IP 地址不会更改。
设置或调整维护窗口会影响我的实例吗?
不会。设置或调整维护窗口不会导致实例出现任何停机时间。此外,它不会更改实例的 IP 地址,也不会导致实例发生任何其他更改。
我应该遵循哪些最佳做法来获得流畅的维护更新体验?
我们建议您遵循最佳实践部分中的指南进行维护更新。
我何时应该立即进行维护?
您应立即在测试实例上进行维护的一个情况是了解它对生产实例的影响。您可以重新安排计划内维护以立即将其应用于测试实例。这样,您就可以观察维护所产生的影响,并根据需要/在条件允许时推迟生产实例上的维护操作。
维护更新是否始终在维护期内完成?
更新会在您指定的维护期内开始。更新几乎总是在维护期内完成。
我可以先停止对某些实例进行维护或安排维护吗?
不可以,您不能选择停用维护,也无法控制初始的维护时间安排。不过,您可以重新安排维护,使其最多推迟七天。
更新是否可以在维护窗口外应用?
在极少数情况下,为了防止时间敏感的漏洞,维护可以应用于指定维护窗口之外的 Memcached 实例。
如果 Memorystore 取消维护,会出现什么情况?
如果 Memorystore 取消维护事件,您会收到有关维护已被取消的通知。在极少数情况下,Memorystore 可能无法提前发送取消通知。在这种情况下,系统会在安排的维护窗口过后通知您没有进行维护。
然后,系统会根据您选择的偏好设置将维护重新安排到未来的维护窗口。维护事件重新安排后,您会收到有关即将进行维护的新通知。
维护窗口采用什么时间格式?
使用 Google Cloud 控制台时,维护窗口按当地时区显示和设置,但以世界协调时间 (UTC) 存储。Google Cloud 控制台还会显示相对于世界协调时间 (UTC) 的维护窗口时间。使用 Google Cloud CLI 设置窗口时,请使用世界协调时间 (UTC) 设置时间。
您应根据世界协调时间 (UTC) 安排维护窗口,因为 Google Cloud 控制台会显示查看器的本地时区。如果用户在不同的时区设置窗口,这可能会导致混淆。
维护窗口不会更改夏令时。
后续步骤
- 查看管理 Memcached 实例维护窗口所需的权限。