AWS Aurora只读副本

问题描述

我们在EKS的帮助下在AWS中运行了几个微服务。到目前为止,数据已存储在本地的Oracle数据库中。我们在微服务和Oracle数据库之间有一个Kafka主题

现在,我们计划迁移到AWS aurora db,并将数据库也存储在云中。到目前为止,我们的微服务(在春季启动中实现)没有任何特定于云的代码,这意味着AWS SDK集成。因此,我们的代码库与云无关,我们计划保持这种方式。

现在我们计划编写一个新的微服务,该服务将与aurora进行交互,因此任何其他服务,如果他们想向aurora读/写数据,他们都将调用此新服务。

对于此新的微服务,我们是否需要将其与AWS开发工具包一起使用?如果仅使用aurora URL进行数据操作,与使用AWS开发工具包和使用aurora API处理数据存储/检索相比,会对性能产生任何影响。

我们计划拥有一个aurora Db和2个只读副本。据我了解,写操作将被重定向到主数据库,读操作将被重定向到内部LB以进行只读副本。

解决方法

我们是否需要将其与AWS开发工具包一起使用

仅用于管理操作。您无法使用AWS SDK或AWS API实际从Aurora读取和写入数据(您只能使用Data API对Aurora Serverless进行此操作)。

如果我们仅使用Aurora URL进行数据操作

没有其他选择。您必须使用Aurora端点。

据我了解,写操作将被重定向到主副本,读操作将被重定向到内部LB以进行只读副本。

不是自动的。您的写操作必须显式定向到写程序端点。这意味着在您的应用中,您必须在写入时使用写入端点,而在要读取时则使用读取器端点。

副本的负载均衡器处于连接级别,而不是操作级别。但是,是的,与阅读器端点的每个连接都将进入随机副本。