基于springboot的sharding jdbc广播表配置实战

简介: 基于springboot的sharding jdbc广播表配置实战

公众号merlinsea


  • 背景
  • 在分库分表以后,比如数据库1有配置表,数据库2有个配置表,数据库3也有个配置表,需要我们把配置同时写入三个数据库的配置表中, 在这样的情况下这里的配置表就是一种广播表,要求就是数据同步和一致。


  • 什么是广播表?
  • 指所有的分⽚数据源中都存在的表,表结构和表中的数据在每个数据库中均完全⼀致
  • 适⽤于数据量不⼤且需要与海量数据的表进⾏关联查询的场景
  • 例如:字典表、配置表
  • 个人理解:广播表和普通的表唯一区别就是数据同时要写入多个不同数据库的广播表中。


  • 注意的坑
  • 分库分表中间件,对应的数据库字段,不能是sql的关键字,否则容易出问题,且报错不明显。
  • 广播表的id不一定需要雪花算法,可以采用数据库自增的方式。

  • 基于springboot的广播表配置实战
  • 提前准备:在多个数据库中准备好一张相同的广播表。

1、编写好广播表的DO类

@Data
@EqualsAndHashCode(callSuper = false)
@TableName("ad_config")
public class AdConfigDO {
    @TableId(value = "id",type = IdType.AUTO)
    private Long id;
    private String configKey;
    private String configValue;
    private String type;
}


2、编写配置文件

#配置广播表
spring.shardingsphere.sharding.broadcast-tables=ad_config
#广播表的雪花算法
#spring.shardingsphere.sharding.tables.ad_config.key-generator.column=id
#spring.shardingsphere.sharding.tables.ad_config.key-generator.type=SNOWFLAKE


效果如下所示:

640.jpg


我在腾讯会议讲解组合总和2的视频文件的地址如下:

录制文件:

https://meeting.tencent.com/v2/cloud-record/share?id=1988a7af-d26f-4169-a401-539a95bdaec0&from=3&is-single=true

访问密码:4Zse


关于leetcode算法训练营:

   加我微信号私聊参加训练营,尤其是想进入大厂工作的同学,算法是绕不过去的坎,我自己花了三年时间刷算法,总结思路,刷各种数据结构课程,加入我的训练营,我手把手以在线直播课的形式带你理思路,手把手带你写代码,让你真正体会算法之美~,同时遇到不明白的地方可以直接课上和我沟通,彻底解决你的代码困难证~

本人用c++刷了800道左右的算法,java语言刷了600道左右的算法题,并对这些题做了详细的个人总结。本科期间系统学习了数据结构与算法课程,同时考研过程中写完了率辉主编的《2020年数据结构高分笔记》和《数据结构1000题》,看完的视频包括《mooc浙大数据结构国家精品课程》和《王道考研408数据结构课程》,《王道2019年算法题讲解视频》,最终以初试专业第三名进入了北理工软件工程专业。熟悉并掌握常见的数据结构,比如链表、数组、树、图、队列、堆栈等等,精通数据结构教材中的所有算法,比如常见的遍历算法、动态规划,递归,回溯,剪枝,并查集,最短路径,拓扑排序等,所以快加入训练营吧,我们一起进步

奔跑的小梁,公众号:梁霖编程工具库我决定了,算法文档开源!!


相关文章
|
4天前
|
Java 开发者 微服务
手写模拟Spring Boot自动配置功能
【11月更文挑战第19天】随着微服务架构的兴起,Spring Boot作为一种快速开发框架,因其简化了Spring应用的初始搭建和开发过程,受到了广大开发者的青睐。自动配置作为Spring Boot的核心特性之一,大大减少了手动配置的工作量,提高了开发效率。
19 0
|
28天前
|
Java API 数据库
Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐
本文通过在线图书管理系统案例,详细介绍如何使用Spring Boot构建RESTful API。从项目基础环境搭建、实体类与数据访问层定义,到业务逻辑实现和控制器编写,逐步展示了Spring Boot的简洁配置和强大功能。最后,通过Postman测试API,并介绍了如何添加安全性和异常处理,确保API的稳定性和安全性。
35 0
|
8天前
|
缓存 IDE Java
SpringBoot入门(7)- 配置热部署devtools工具
SpringBoot入门(7)- 配置热部署devtools工具
20 2
 SpringBoot入门(7)- 配置热部署devtools工具
|
7天前
|
Java 数据库连接
SpringBoot配置多数据源实战
第四届光学与机器视觉国际学术会议(ICOMV 2025) 2025 4th International Conference on Optics and Machine Vision
33 8
|
4天前
|
Java 数据库连接 数据库
springboot启动配置文件-bootstrap.yml常用基本配置
以上是一些常用的基本配置项,在实际应用中可能会根据需求有所变化。通过合理配置 `bootstrap.yml`文件,可以确保应用程序在启动阶段加载正确的配置,并顺利启动运行。
11 2
|
16天前
|
Java Spring 容器
SpringBoot读取配置文件的6种方式,包括:通过Environment、@PropertySource、@ConfigurationProperties、@Value读取配置信息
SpringBoot读取配置文件的6种方式,包括:通过Environment、@PropertySource、@ConfigurationProperties、@Value读取配置信息
43 3
|
27天前
|
druid Java Maven
|
28天前
|
Java 关系型数据库 MySQL
mysql5.7 jdbc驱动
遵循上述步骤,即可在Java项目中高效地集成MySQL 5.7 JDBC驱动,实现数据库的访问与管理。
106 1
|
1月前
|
SQL 分布式计算 关系型数据库
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
84 0
|
1月前
|
SQL 分布式计算 关系型数据库
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
37 0

热门文章

最新文章