专栏名称: Java知音
专注于Java,推送技术文章,热门开源项目等。致力打造一个有实用,有情怀的Java技术公众号!
今天看啥  ›  专栏  ›  Java知音

分库分表 带来了哪些问题?

Java知音  · 公众号  ·  · 2025-01-12 10:40
    

文章预览

分库分表是解决单库单表性能瓶颈的有效手段,但也会引入新的复杂性和技术挑战。 这篇文章跟大家一起聊聊,分库分表后带来的7个问题,以及相关的解决方案,希望对你会有所帮助。 1. 全局唯一 ID 问题 问题描述 在分库分表后,每张表的自增 ID 只在本表范围内唯一,但无法保证全局唯一。 例如: 订单表_1 的主键从 1 开始, 订单表_2 的主键也从 1 开始。 在需要全局唯一 ID 的场景(如订单号、用户 ID)中会发生冲突。 解决方案 1.1 使用分布式 ID 生成器 推荐工具: Snowflake :Twitter 开源的分布式 ID 算法。 百度 UidGenerator :基于 Snowflake 的改进版。 Leaf :美团开源,号段模式和 Snowflake 双支持。 代码示例:Snowflake 算法 public   class   SnowflakeIdGenerator   {      private   final   long  epoch =  1622476800000L ;  // 自定义时间戳      private   final   long  w ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览