其他分享
首页 > 其他分享> > 美团开源分布式ID服务Leaf简单使用

美团开源分布式ID服务Leaf简单使用

作者:互联网

原创不易,转载请注明出处

文章目录


简单介绍

leaf是美团技术团队开源的分布式id生成服务。
leaf支持号段模式和snowflake模式id生成。
github地址:https://github.com/Meituan-Dianping/Leaf

配置

先去github地址:https://github.com/Meituan-Dianping/Leaf 将项目源代码clone下来
项目是使用springboot写的。需要到leaf-server子项目中resource目录下面leaf.properties配置
上面有提到leaf支持号段模式和snowflake模式id生成,这两种
介绍下号段模式的配置
由于号段模式基于mysql+号段实现,需要配置mysql连接信息

配置项含义默认值
leaf.nameleaf 服务名
leaf.segment.enable是否开启号段模式false
leaf.jdbc.urlmysql 库地址
leaf.jdbc.usernamemysql 用户名
leaf.jdbc.passwordmysql 密码

同时需要建立一个mysql表

DROP TABLE IF EXISTS `leaf_alloc`;

CREATE TABLE `leaf_alloc` (
  `biz_tag` varchar(128)  NOT NULL DEFAULT '',
  `max_id` bigint(20) NOT NULL DEFAULT '1',
  `step` int(11) NOT NULL,
  `description` varchar(256)  DEFAULT NULL,
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`biz_tag`)
) ENGINE=InnoDB;

介绍下snowflake模式的配置
snowflake基于snowflake算法优化+zk实现,需要配置zk信息

配置项含义默认值
leaf.snowflake.enable是否开启snowflake模式false
leaf.snowflake.zk.addresssnowflake模式下的zk地址
leaf.snowflake.portsnowflake模式下的服务注册端口

部署

如果是本地学习测试的话,完全可以导入到idea,然后直接main方法启动就可以了。

如果是生产级别使用的话

打包服务

cd leaf
mvn clean install -DskipTests
cd leaf-server

运行服务
mvn方式

mvn spring-boot:run

脚本方式

sh deploy/run.sh

测试
号段模式
在这里插入图片描述

snowflake模式
在这里插入图片描述

总结

本文主要介绍了分布式ID服务Leaf的配置与安装,关于号段模式与snowflake模式实现原理我们后面会有介绍。

标签:leaf,美团,配置,模式,snowflake,号段,Leaf,NULL,ID
来源: https://blog.csdn.net/yuanshangshenghuo/article/details/118420589