掌秋使 手游攻略 手游评测 分布式ID生成器美团Leaf

分布式ID生成器美团Leaf

时间:2024-10-27 15:41:40 来源:未知 浏览:0

1. 美团Leaf分布式ID生成器

美团叶子最早的需求是各业务线的订单ID生成需求。具体Leaf设计文档参见:leaf美团分布式ID生成服务。叶子的特点:

Leaf依赖于数据库或者ZK(这里依赖ZK实现的Snowflake是对Snowflake原有方法的增强)。 Leaf提供两种模式:Leaf-segment数据库模式和Leaf-snowflake模式。雪花时间回调已优化。修复了时间回拨问题。

2.Leaf的Java实现

美团在Github上有实现代码。我们按照代码构建一个本地项目并运行一下。并尝试一下。

克隆代码:

git clone https://github.com/Meituan-Dianping/Leaf.git 配置:

进入leaf-server/src/main/resources/leaf.properties配置文件进行设置

配置

阐明

默认值

叶子名称

分布式ID生成器美团Leaf

叶服务名称

叶段启用

是否启用分段模式

错误的

叶.jdbc.url

mysqlurl

leaf.jdbc.用户名

mysql 用户名

叶子.jdbc.密码

mysql密码

叶.雪花.启用

分布式ID生成器美团Leaf

是否开启雪花模式

错误的

leaf.snowflake.zk.地址

雪花模式下的zk地址

叶.snowflake.port

雪花模式下的服务注册端口

我们打开leaf.segment.enable=true。由于需要使用zk,Leaf.snowflake.enable暂时无法使用。 leaf.properties 设置:

leaf.name=mxsmleaf.segment.enable=trueleaf.jdbc.url=jdbc:mysql://192.168.43.129:3306/leaf?useUnicode=truecharacterEncoding=utf-8leaf.jdbc.username=rootleaf.jdbc.password=sys123456执行脚本:

CREATE TABLE `leaf_alloc` ( `biz_tag` varchar(128) NOT NULL DEFAULT '', -- 您的业务唯一名称`max_id` bigint(20) NOT NULL DEFAULT '1', `step` int(11) NOT NULL, `说明` varchar(256) DEFAULT NULL,`update_time` 时间戳不为空更新CURRENT_TIMESTAMP 上的默认CURRENT_TIMESTAMP,主键(`biz_tag`)) ENGINE=InnoDB;插入leaf_alloc(biz_tag, max_id, step, description) 值('leaf- segment-test', 1, 2000, '测试叶段模式获取Id')

编译项目:

cd Leafmvn clean install -DskipTests 运行项目:

分布式ID生成器美团Leaf

cd leaf-servermvn spring-boot:run 项目启动:

Tips: 我使用的是mysql8.0,所以修改了mysql的connector版本和druid版本没有修改报错。 jdk版本为11

测试:

#segmentcurl http://localhost:8080/api/segment/get/leaf-segment-test #snowflakecurl http://localhost:8080/api/snowflake/get/test

完全可以使用了。

Tips: 自己分析一下代码,基本是一样的。

3. 总结

叶段数据库模式结合了数据库和内存生成的优点。相当于上一篇文章中Redis实现的增强。这里,数据库发生错误后可以短暂提供服务,但服务的长度取决于步骤。如果步长设置得较大,即使数据库出现错误,也能长时间提供服务。但它也会导致大量浪费。

Leaf-snowflake使用ZK来实现workId的分配。解决了需要手动指定的情况。

用户评论

秒淘你心窝

哇,这个分布式ID生成器真的很酷!我在玩美团Leaf的时候,感觉这技术超乎寻常的高效。

    有7位网友表示赞同!

煮酒

美团Leaf中的ID生成机制给我留下了深刻印象!真的很神奇,处理大量用户请求时表现得非常出色。

    有15位网友表示赞同!

志平

在体验美团Leaf游戏时,最让我惊喜的是其背后强大的分布式ID生成器,它让我的游戏过程流畅无比呀!

    有8位网友表示赞同!

浮殇年华

对技术控们来说,美团Leaf的ID生成系统是一个超一流的案例。在快节奏的游戏环境中,一切都处理得井井有条。

    有14位网友表示赞同!

早不爱了

在玩的过程中发现,这个分布式ID生成器真的是高效又可靠,每次请求都得到快速响应,太让人满意了!

    有14位网友表示赞同!

暖栀

游戏设计者用的这些底层技术真的很了不起, 尤其是那个分布式ID系统,在背后默默地保证了我的整体体验。

    有19位网友表示赞同!

暖瞳

我玩美团Leaf时对这个分布式ID生成器着迷,它如此高效流畅地支持着大量玩家,真的很牛。

    有9位网友表示赞同!

微信名字

在繁忙的游戏环境下,这个ID生成机制就像一剂强心针,提供稳定高效的用户识别和管理服务,真是太棒了!

    有13位网友表示赞同!

为爱放弃

作为重度游戏玩家,我会选择那些技术上投入大,比如分布式ID系统做后盾的游戏,比如美团Leaf,让人玩得过瘾。

    有5位网友表示赞同!

枫无痕

不得不说,分布式ID生成器在这款游戏中的应用非常优秀。在海量用户同时在线时仍能保持快速响应,真是太赞了!

    有5位网友表示赞同!

别在我面前犯贱

从玩家角度出发,我一直都被游戏运行的稳定性和流畅性所吸引,这完全归功于美团Leaf背后的强大技术支持。

    有14位网友表示赞同!

柠栀

对于想要玩游戏而不受技术问题困扰的人来说,选择有分布式ID系统作为支撑的游戏,真的很让人安心,像是美团Leaf这样的一流设计。

    有18位网友表示赞同!

断秋风

在体验这款游戏时,我注意到它的稳定性和响应速度都非常高,这绝对与背后的分布式ID生成器息息相关啊。

    有10位网友表示赞同!

|赤;焰﹏゛

玩美团Leaf的过程真是太流畅了!这得益于强大的技术支持和高效的ID管理方案,真的很令人印象深刻。

    有10位网友表示赞同!

疲倦了

作为一个关注技术细节的玩家,在美团Leaf的游戏体验上,我发现其背后的技术实力明显超越了一般预期。尤其是那个分布式ID系统。

    有20位网友表示赞同!

万象皆为过客

这款游戏之所以能在大型服务器上稳定运行,离不开高效能的分布式ID管理系统,这是我的一大体会。

    有5位网友表示赞同!

纯真ブ已不复存在

玩起来既便捷又流畅,这就是因为有了美团Leaf团队投入的一流技术架构和分布式ID生成器在起作用。确实是现代游戏设计的一大亮点。

    有20位网友表示赞同!

执妄

作为一个经常关注技术细节的游戏者,我对美团Leaf的技术栈充满好奇。尤其是那个分布式ID系统给游戏带来了极大的效率提升!

    有10位网友表示赞同!

标题:分布式ID生成器美团Leaf
链接:https://www.zhangqiushi.com/news/sypc/16638.html
版权:文章转载自网络,如有侵权,请联系删除!
资讯推荐
更多
绯红之境兑换码最新2021 礼包兑换码大全

绯红之境兑换码最新2021 礼包兑换码大全[多图],绯红之境兑换码怎么领取?绯红之境兑换码有哪些?绯红之境在今日

2024-10-27
妄想山海怎么加好友 加好友方法大全

妄想山海怎么加好友 加好友方法大全[多图],妄想山海添加好友功能在哪里?妄想山海添加好友的方法是什么?好友添

2024-10-27
三国群英传7霸王再临攻略 霸王再临攻略技巧开启方法

三国群英传7霸王再临攻略 霸王再临攻略技巧开启方法[多图],三国群英传7霸王再临怎么玩?三国群英传7霸王再临

2024-10-27
江南百景图又见桃花村钓鱼位置在哪?又见桃花村钓鱼攻略

江南百景图又见桃花村钓鱼位置在哪?又见桃花村钓鱼攻略[多图],江南百景图又见桃花村钓鱼怎么钓?又见桃花村钓

2024-10-27