本页面简要介绍了 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 Console 中手动进行检查。如果 Cloud 控制台是空白的,并且您已经设置了维护窗口,则说明您尚未安排即将进行的维护。
我何时会收到即将进行的维护的通知?
如果您订阅了维护通知并设置了维护期,则至少会在维护事件发生前七天收到电子邮件提醒。
我可以将维护推迟多长时间?
为实例安排维护之后,您可以立即开始更新实例,也可以将更新从最初安排的维护时间开始推迟最多七天。例如,如果将维护安排在 10 月 11 日晚上 11 点 15 分,则可以推迟到 10 月 18 日晚上 11 点 15 分。如果未执行任何操作,则将在计划时间进行维护。
如需了解详情,请参阅重新安排计划内维护。
实例在维护期间的 IP 地址是否发生变化?
不会。您的 Memcached 实例的 IP 地址保持不变。
设置或调整维护窗口是否会影响我的实例?
不会。设置或调整维护窗口不会导致实例出现任何停机。此外,它不会更改实例的 IP 地址,也不会导致对实例进行任何其他更改。
我应该遵循哪些最佳做法来获得流畅的维护更新体验?
我们建议您按照最佳做法部分中的指南执行维护更新。
我何时应该立即进行维护?
一种应该立即进行维护的情况是在测试实例上,看看这对生产实例有何影响。您可以重新安排计划内维护,立即将其应用于测试实例。这样,您就可以观察维护所产生的影响,并根据需要/在条件允许时推迟生产实例上的维护操作。
维护更新是否始终在维护窗口内完成?
更新会在您指定的维护窗口内开始。更新几乎总是在该窗口中完成。
我可以先停止对某些实例进行维护或安排维护吗?
不可以,您不能选择停用维护,也无法控制初始的维护时间安排。不过,您可以重新安排维护,最多推迟七天。
可以在维护窗口之外应用更新吗?
在极少数情况下,为保护对时间敏感的漏洞,您可以在指定的维护窗口之外对 Memcached 实例进行维护。
如果 Memorystore 取消维护,会发生什么情况?
如果 Memorystore 取消维护事件,您会收到维护取消通知。在极少数情况下,Memorystore 可能无法提前发送取消通知。在这种情况下,系统会在安排的维护窗口过后通知您没有进行维护。
然后,系统会根据您选择的偏好设置将维护重新安排到未来的维护窗口。维护事件重新安排后,您会收到有关即将进行维护的新通知。
维护窗口采用什么时间格式?
使用 Google Cloud Console 时,维护窗口以您的本地时区显示和设置,但以世界协调时间 (UTC) 存储;Google Cloud Console 还会显示相对于世界协调时间 (UTC) 的维护窗口时间。使用 Google Cloud CLI 设置窗口时,请使用世界协调时间 (UTC) 设置时间。
您应该根据世界协调时间 (UTC) 安排时间范围,因为 Google Cloud Console 会以查看者的本地时区显示该窗口。如果用户在不同的时区设置窗口,这可能会导致混淆。
维护窗口不会更改夏令时。
后续步骤
- 查看管理 Memcached 实例的维护窗口所需的权限。