美团开源分布式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模式实现原理我们后面会有介绍。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部