首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Spring Boot和AWS RDS读副本

Spring Boot和AWS RDS读副本
EN

Stack Overflow用户
提问于 2020-05-26 22:03:31
回答 1查看 3.8K关注 0票数 7

在这里,我试图实现以下的AWS RDS。我有一个MySQL数据库实例正在运行。我正在考虑创建一个read副本,这样我就有了一些额外的负载共享功能。

我在EC2上运行了一个Spring应用程序。目前,我连接数据库的方式是在application.yml中添加以下属性:

代码语言:javascript
运行
复制
datasource:
    type: com.zaxxer.hikari.HikariDataSource
    url: jdbc:mysql://DB_HOSTNAME:3306/DB_DATABASE?useUnicode=true&characterEncoding=utf8&useSSL=false&useLegacyDatetimeCode=false&serverTimezone=UTC
    username: DB_USERNAME
    password: DB_PASSWORD

我的问题是:

  • 如果我创建一个read副本,是否需要编写一些特殊的代码来连接到它?
  • 对于数据库的每个实例,我需要多个连接池吗?
  • 如果我有5个读取副本,如何从代码的角度进行扩展,如何在代码中管理这个副本?
  • 如何将数据库调用定向到不同的副本?这个决定的依据是什么?

如果有任何链接/视频/文档,您可以指向我。Spring引导不是必需的,我需要了解什么是利用Java应用程序中的读取副本的好方法。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2022-04-24 18:27:27

如果我们使用spring-cloud-aws-jdbc

点1如何连接到主副本实例和读取副本实例

代码语言:javascript
运行
复制
cloud.aws.rds.<DB-Instance-ID>.username=admin1
cloud.aws.rds.<DB-Instance-ID>.password=Admin123
cloud.aws.rds.<DB-Instance-ID>.databaseName=employee
cloud.aws.rds.employee-db.readReplicaSupport=true

点2

不需要定义单独的连接池

点3

Spring将搜索为主数据库创建的任何读取副本,并将只读事务路由到(可用的读副本之一)。

点4

可以通过以下方式重定向读取事务

代码语言:javascript
运行
复制
@Transactional(readOnly = true)

您可以找到一个有用的示例和详细说明这里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62032148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档