本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Aurora 副本
在多可用区部署中,Aurora 会创建额外的 Aurora 计算实例,这些实例与跨越多个可用区的底层存储层进行交互。这些其他数据库实例是只读实例,称为 Aurora 副本。讨论如何在集群内组合写入器和读取器数据库实例时,它们亦称为读取器实例。Aurora 副本的一个好处是,您可以通过使用读取器实例处理 SELECT 查询,来减轻读取密集型应用程序的部分工作负载。
当问题影响主实例时,它会失效转移至其中一个辅助读取器实例,该实例将作为主实例进行接管。Aurora 检测数据库问题并在必要时自动激活失效转移机制。有关 Aurora 失效转移的更多信息,请参阅 Amazon Aurora 的高可用性。
Aurora 副本不会在消耗的存储空间或磁盘写入操作方面增加额外成本,因为 Aurora 数据库集群中的所有实例都共享底层存储卷。由写入器生成并发送到存储节点的日志流也将发送到所有读取器实例。在读取器实例中,数据库通过依次考虑每条日志记录来使用此日志流。如果日志记录引用读取器实例的缓冲区缓存中的页面,则读取器实例使用日志应用器将指定的重做操作应用于缓存中的页面。否则,读取器实例会丢弃日志记录。
请注意,从写入器实例的视角来看,Aurora 副本以异步方式使用日志记录,这会独立于读取器实例确认用户提交。Aurora 副本通常会比写入器实例滞后一小段时间(100 毫秒或更短)。有关 Aurora 数据库集群中的集群卷、主数据库实例和 Aurora 副本之间的关系的更多信息,请参阅 AWS 文档。