springboot配置数据库包括集群下 配置

本文介绍了如何在SpringBoot中配置Oracle数据库,特别是在集群环境下。讲述了SERVICE_NAME与SID的区别,并强调在集群中数据同步和负载均衡的重要性。同时,提到了浮动IP在数据库集群配置中的作用,将其与SpringCloud的API网关原理进行类比。
摘要由CSDN通过智能技术生成

首先准备数据库的必要信息。

查询当前数据库实例名
方法一:select instance_name from v$instance;
方法二:show parameter instance
查询数据库服务名
方法一:show parameter service_name

ora文件:

单实例的2中配法:

//通过SERVICE_NAME配置
SINGLE1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.22.1)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = db1)
    )
  )
//通过SID配置
SINGLE1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.22.1)(PORT = 1521))
    (CONNECT_DATA =
      (SID = db1)
    )
  )

//SERVICE_NAME (数据库服务名)和 SID(数据库实例名)是有区别的。
一般情况下,单实例,我们会把SERVICE_NAME (数据库服务名)和 SID(数据库实例名)写成一样的,
那么上面的2中配置就等效。
如果配置的不一样,或者在集群下,SID是有多个的,SERVICE_NAME用的是同一个。
即SERVICE_NAME&

Spring Boot 配置 MySQL 集群通常涉及到多个 MySQL 实例的高可用性和负载均衡。以下是一些关键步骤和配置要点: 1. **Spring Boot 数据源配置**: 在 `application.properties` 或 `application.yml` 文件中,你需要配置多个数据源,每个数据源对应一个 MySQL 实例。例如: ```properties spring.datasource.master.url=jdbc:mysql://master1:3306/dbname?serverTimezone=UTC spring.datasource.master.username=root spring.datasource.master.password=your_password spring.datasource.replica1.url=jdbc:mysql://replica1:3306/dbname?serverTimezone=UTC spring.datasource.replica1.username=root spring.datasource.replica1.password=your_password # 添加更多副本,如果有的话 spring.datasource.replica2.url=jdbc:mysql://replica2:3306/dbname?serverTimezone=UTC ``` 2. **使用动态数据源切换**: Spring Boot 提供了 `spring-factories` 文件(如 `META-INF/spring.factories`)来管理数据源切换。在这个文件中,可以创建一个 `org.springframework.jdbc.datasource.DataSourceProvider` 类,定义如何在应用启动时选择主从数据库。 3. **事务管理**: 使用 `@Transactional` 注解时,需要指定事务隔离级别、传播行为等,并考虑使用读写分离,如通过 `PlatformTransactionManager` 自动选择主库进行持久化操作。 4. **连接池配置**: 可能需要调整连接池参数(如 `HikariCP` 或 `Druid`),确保在高并发情况下有足够的连接。 5. **监控和故障转移**: 为了确保高可用性,可以使用第三方工具如 JHipster 的 `spring-cloud-config-server` 连接配置中心,或者通过数据库心跳检测、监控服务来自动切换到健康的节点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值