我们正在运行一个 Aurora PostgreSQL 集群,其中包含一个只读副本和主节点。
定期出现非常重的写入负载,导致较高的复制延迟。这可能会导致只读副本重新启动,这对于高可用性环境中的我们来说是不希望的。发生这种情况时,通过只读端点连接到集群的客户端会收到此 JDBC 错误:org.postgresql.util.PSQLException: FATAL: the database system is starting up
。此外,AWS 控制台在日志中显示了这些内容:
只读副本已经落后于主数据库太多了。重新启动 postgres。
其次是
数据库实例已重新启动
我们可以容忍只读副本落后几分钟,但不能容忍只读副本重新启动才能赶上。
有没有办法防止只读副本在这些时间段内重新启动?
或者,是否有任何建议的调整可以减少写入负载较重期间的复制延迟?