| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 分布式id -> 正文阅读 |
|
[大数据]分布式id |
随着系统越来越复杂,数据越来越多后,势必会引入分库分表。此时db本身的自增id将无法满足需求,这时将引入分布式id来满足需求。以下是几种生成分布式id的方案。 数据库自增id思路
优点
缺点
数据库多主模式在单个数据库基础上,为解决高可用问题,引入多个主数据库。 思路
优点
缺点
Redis INCR 命令思路
优点
缺点
UUID优点
缺点
雪花算法Twitter推出的Snowflake 算法,用于分布式id生成。 思路 简单描述
加起来刚好64位,为一个Long型。这个算法很简洁,但依旧是一个很好的ID生成策略。其中,10位器标识符一般是5位IDC+5位machine编号,唯一确定一台机器。 优点
缺点
号段模式每一次请求生成id都会获得一整个号段。 优势
Redis INCRBY 命令
思路
优点
缺点
美团 LeafLeaf-segment 思路
优点
缺点
Leaf-snowflake 思路 在雪花算法的基础上,通过使用Zookeeper持久顺序节点的特性自动对snowflake节点配置wokerID。避免当服务集群数量大时,手动设置workId的成本。 滴滴TinyId基于 Leaf-segment。 特性
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 22:52:08- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |