基于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年算法题讲解视频》,最终以初试专业第三名进入了北理工软件工程专业。熟悉并掌握常见的数据结构,比如链表、数组、树、图、队列、堆栈等等,精通数据结构教材中的所有算法,比如常见的遍历算法、动态规划,递归,回溯,剪枝,并查集,最短路径,拓扑排序等,所以快加入训练营吧,我们一起进步

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


相关文章
|
12小时前
|
前端开发 Java 应用服务中间件
Springboot对MVC、tomcat扩展配置
Springboot对MVC、tomcat扩展配置
|
12小时前
|
安全 Java 开发者
深入理解Spring Boot配置绑定及其实战应用
【4月更文挑战第10天】本文详细探讨了Spring Boot中配置绑定的核心概念,并结合实战示例,展示了如何在项目中有效地使用这些技术来管理和绑定配置属性。
11 1
|
12小时前
|
Java 文件存储 Spring
【springboot】logback配置
【springboot】logback配置
19 1
|
12小时前
|
Java 微服务 Spring
Spring Boot中获取配置参数的几种方法
Spring Boot中获取配置参数的几种方法
22 2
|
12小时前
|
SQL Java 数据库连接
Springboot框架整合Spring JDBC操作数据
JDBC是Java数据库连接API,用于执行SQL并访问多种关系数据库。它包括一系列Java类和接口,用于建立数据库连接、创建数据库操作对象、定义SQL语句、执行操作并处理结果集。直接使用JDBC涉及七个步骤,包括加载驱动、建立连接、创建对象、定义SQL、执行操作、处理结果和关闭资源。Spring Boot的`spring-boot-starter-jdbc`简化了这些步骤,提供了一个在Spring生态中更便捷使用JDBC的封装。集成Spring JDBC需要添加相关依赖,配置数据库连接信息,并通过JdbcTemplate进行数据库操作,如插入、更新、删除和查询。
|
12小时前
|
Web App开发 前端开发 Java
SpringBoot配置HTTPS及开发调试
在实际开发过程中,如果后端需要启用https访问,通常项目启动后配置nginx代理再配置https,前端调用时高版本的chrome还会因为证书未信任导致调用失败,通过摸索整理一套开发调试下的https方案,特此分享
21 0
SpringBoot配置HTTPS及开发调试
|
12小时前
|
存储 Java 数据库
SpringBoot使用jasypt实现数据库配置加密
这样,你就成功地使用Jasypt实现了Spring Boot中的数据库配置加密,确保敏感信息在配置文件中以加密形式存储,并在应用启动时自动解密。
47 2
|
12小时前
|
Java Shell 测试技术
一次配置,多场景适用:Spring Boot多套配置文件的深度剖析
一次配置,多场景适用:Spring Boot多套配置文件的深度剖析
40 0
一次配置,多场景适用:Spring Boot多套配置文件的深度剖析
|
12小时前
|
SQL Java 关系型数据库
MySQL之JDBC(二)
MySQL之JDBC(二)
34 0
|
12小时前
|
关系型数据库 MySQL Java
MySQL之JDBC(一)
MySQL之JDBC
35 0