Tips: 项目代码https://github.com/mxsm/rain
rain
分布式全局ID生成服务,ID生成分为两种模式:
下面介绍如何使用segment(分段模式)snowflake(雪花算法)。
Quick Start
1. 安装依赖
JDK 11MySQL8Maven 3.8.5 安装相关依赖项。
2. 数据库初始化
2.1 创建表
运行sql脚本创建对应的数据库和表。脚本如下:
如果存在`uidgenerator`,则删除数据库;如果存在`uidgenerator`,则创建数据库`uidgenerator`;使用`uidgenerator`;如果存在mxsm_allocation,则删除表;如果存在mxsm_allocation`,则创建表`mxsm_allocation` ( `id` bigint NOT NULL AUTO_INCRMENT COMMENT '主键ID', `biz_code` varchar( 128 ) COLLATE utf8mb4_general_ci NOT NULL COMMENT '业务代码(用户ID,使用业务方代码)', `max_id` bigint NOT NULL DEFAULT '1' COMMENT '最大值', `step` int NOT NULL COMMENT '步骤', `描述` varchar(255) COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '描述', `create_time` 时间戳NOT NULL COMMENT '创建时间', `update_time` 时间戳NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`id`),唯一键`biz_code_index` (`biz_code`) 使用BTREE) 引擎=InnoDB 默认字符集=utf8mb4 COLLATE=utf8mb4_general_ci;如果存在则删除表mxsm_snowfalke_node;创建表`mxsm_snowfalke_node` (`id` bigint NOT NULL AUTO_INCRMENT COMMENT '主键ID ', ` host_name` bigint NOT NULL COMMENT 'IP 地址', `port` int NOT NULL DEFAULT '1' COMMENT '端口', `deploy_env_type` enum('ACTUAL','CONTAINER') COLLATE utf8mb4_general_ci DEFAULT 'ACTUAL' COMMENT '部署环境type ', `description` varchar(255) COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Description', `create_time` 时间戳NOT NULL COMMENT '创建时间', `update_time` 时间戳NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY ( `id`), 唯一键`mix_index` (`host_name`,`port`) 使用BTREE) 引擎=InnoDB 默认字符集=utf8mb4 COLLATE=utf8mb4_general_ci;
3. rain部署启动
3.1 通过提供的Package
步骤一:下载二进制包
它可以从最新的最新稳定版本页面下载。获取rain-server-1.0.1-SNAPSHOT.tar.gz
tar -zxvf rain-server-1.0.1-SNAPSHOT.tar.gzcd rain-server-1.0.1-SNAPSHOT/步骤2:修改conf/application.properties
修改application.properties配置中数据库相关配置:
spring.datasource.url=jdbc:mysql://ip:port/uidgenerator?useUnicode=truecharacterEncoding=utf-8spring.datasource.username=xxxspring.datasource.password=
标题:分布式ID 生成器Rain
链接:https://www.zhangqiushi.com/news/sypc/16640.html
版权:文章转载自网络,如有侵权,请联系删除!
用户评论
Rain分布式ID生成器真是改变了我们对游戏行业理解的一股清流。
有8位网友表示赞同!
在这个游戏中玩了一段时间后,我发现Rain的ID机制竟然可以如此公平、流畅地执行。
有9位网友表示赞同!
不得不说,Rain在ID分配上的创新和高效给我带来了全新的游戏体验。
有12位网友表示赞同!
对于一名热衷于多人在线竞技的玩家来说,Rain分布式ID生成器绝对是提升游戏环境的一大利器。
有8位网友表示赞同!
Rain的ID系统不仅保证了玩家们的游戏体验,还极大提升了安全性。
有20位网友表示赞同!
"Rain游戏"这个名字第一次出现在我耳边时,我就被它的创新思路和先进的技术吸引了。
有13位网友表示赞同!
作为分布式ID生成技术的拥趸,Rain给我的感觉就像是一个完美的结合体——高性能+游戏乐趣。
有13位网友表示赞同!
Rain分布式ID生成器,在复杂多变的游戏环境中,提供了一个稳定、高效的支撑。
有12位网友表示赞同!
第一次尝试Rain游戏时就被它那流畅和稳定的ID分配机制惊艳到了。
有18位网友表示赞同!
自从有了Rain的分布式ID支持,我的游戏体验上了一个新台阶,再也没有频繁匹配失败的情况了。
有12位网友表示赞同!
Rain在处理大量同时在线玩家的游戏数据方面显示出了极大的效率,这是其他很多游戏无法比拟的。
有6位网友表示赞同!
对于像我这样的游戏玩家来说,Rain分布式ID生成技术简直是如虎添翼,操作顺畅无比。
有6位网友表示赞同!
通过使用Rain分布式ID,我在游戏中享受到了从未有过的体验流畅感,真的让人惊叹于技术的力量。
有15位网友表示赞同!
在Rain上打游戏,那套先进且高效的ID分配系统总能带来最棒的竞技环境。
有11位网友表示赞同!
Rain不仅优化了游戏体验,还让我们的在线游戏活动更加稳定、安全,对开发者来说也是个大福音。
有8位网友表示赞同!
如果要说有什么让我喜爱Rain分布式ID生成器的原因,那就是它的技术和用户体验都无可挑剔。
有10位网友表示赞同!
"Rain"这款游戏的分布式ID系统是业界的一股清流,改变了我对游戏行业的认知和期待。
有7位网友表示赞同!
Rain的ID分配机制在保护玩家隐私的同时,还极大地提升了游戏性能与稳定性。
有9位网友表示赞同!
体验过Rain之后才深刻认识到,高效的分布式ID生成方案对提升游戏品质有多重要,雨天中的光芒!
有7位网友表示赞同!
使用Rain分布式ID生成器玩起来,简直就是给我的游戏生涯带来了满满的惊喜和便利。
有6位网友表示赞同!