-2

TLDR:我可以就如何在 GPC 上设置 Redis 以用于生产使用一些建议,它只是随机切换我们的 IP 地址,文档中没有任何内容/我不知道如何构建具有这种可能性的稳定解决方案.

背景:

我们已经使用谷歌云几年了,并且在“标准”层上有一个稳定的 Redis Memorystore 实例。

在过去的几天里,我们的网络服务器开始时不时地慢慢崩溃。查了一下,连接celery/Redis的时候有问题,我们发现我们所有的配置文件都有10.0.0.3作为Redis实例,服务器的IP地址是10.0.0.4。这从未改变过,我们的配置在 git 中,所以我们确信它们没有改变。

由于 Celery 不会在连接不良的情况下启动,我们知道在周二我们推送新代码时它是正确的。似乎服务器发生故障并以某种方式向我们发出了 IP 地址更改。作为证据,

我们的图形使用会在特定点奇怪地改变颜色

这与我们的错误日志“[2020-06-16 03:09:21,873: ERROR/MainProcess] Error in timer: ReadOnlyError("You can't write against a read-only slave.",)" 相匹配

我们找到的所有文档都说 IP 地址将保持不变,但鉴于这没有发生,我希望得到一些反馈,说明在这种情况下如何在 GPC 上解决非静态 IP

4

1 回答 1

1

Memorystore 不支持静态 IP 地址。可能发生 IP 地址更改的某些情况是重新启动或更改连接模式时。

通过查看 Memorystore for Redis 网络页面,当通过 IP 地址使用直接访问连接时,您的项目将与管理实例的 Google 内部项目建立 VPC 网络对等连接。这将为 Memorystore 创建一个分配的 IP 范围以用于实例,这可以由您提供或从可用空间中选择(默认为 /29 块)。

另一方面,Memorystore for Redis 将正常运行时间公开为可通过Cloud Monitoring(以前称为 Stackdriver)获得的指标。这可以用作实例的运行状况检查,因为您将能够确定是否存在重新启动或不可用点。

按照上述要点,您可以直接在Cloud Monitoring中设置有关正常运行时间指标的警报。不幸的是,没有什么特定于 IP 地址更改的。

于 2020-06-22T16:53:51.513 回答