美团雪花LEAF算法

2021/6/21 17:30:16

本文主要是介绍美团雪花LEAF算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

美团雪花LEAF算法

leaf的优势: 高可靠 低延迟 全局唯一

目前主流的分布式ID大部分基于 数据库号段模式和雪花算法,美团2者兼具

leaf-segment模式

  1. 从数据库获取MAX_ID ,服务本地生成 相应步长的自增ID;

  2. 并不是号用完就去数据库加载max_id;而是号段消耗10%后就去提前加载 做到无阻塞

leaf-snowflake

1 + 41(时间戳) + 5 机房 + 5 机器 + 12 seq = 64

根据zookeeper生成workId 也就是 机房+机器

leaf的workerId是基于zk的顺序id来生成的,每个应用在启动时都会在zk生成一个顺序id,相当于一个机器对应一个顺序节点

Leaf-snowflake对Zookeeper是一种弱依赖关系,除了每次会去ZK拿数据以外,也会在本机文件系统上缓存一个workerID文件。一旦ZooKeeper出现问题,恰好机器出现故障需重启时,依然能够保证服务正常启动。



这篇关于美团雪花LEAF算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程