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