关系经济人类预测化学自然
中准网
自然科学
知识物理
化学生物
地理解释
预测理解
本质社会
人类现象
行为研究
经济政治
心理结构
关系指导
人文遗产

分布式ID生成器Rain

5月1日 温柔冢投稿
  学以致用是学习的目的,之前看了很多关于分布式ID生成器的方案,然后根据各种方案和自己的所学写了一个分布式ID生成器rain,rain提供了高可用和高并发,同时提供了JavaSDK和Restful接口进行调用。下面看一下如何使用
  Tips:项目代码https:github。commxsmrainrain
  分布式全局ID生成服务,ID生成分为两个模式:segment(分段模式)snowflake(雪花算法)
  如何使用看如下介绍。QuickStart1。安装依赖JDK11MySQL8Maven3。8。5
  安装好相关的依赖。2。数据库初始化2。1创建表
  运行一下sql脚本创建对应的数据库和表,脚本如下:DROPDATABASEIFEXISTSCREATEDATABASEDROPTABLEIFEXISTSCREATETABLEmxsmallocation(idbigintNOTNULLAUTOINCREMENTCOMMENT主键ID,bizcodevarchar(128)COLLATEutf8mb4generalciNOTNULLCOMMENT业务编码(用户ID,使用业务方编码),maxidbigintNOTNULLDEFAULT1COMMENT最大值,stepintNOTNULLCOMMENT步长,descriptionvarchar(255)COLLATEutf8mb4generalciDEFAULTCOMMENT说明,createtimetimestampNOTNULLCOMMENT创建时间,updatetimetimestampNOTNULLONUPDATECURRENTTIMESTAMPCOMMENT更新时间,PRIMARYKEY(id),UNIQUEKEYbizcodeindex(bizcode)USINGBTREE)ENGINEInnoDBDEFAULTCHARSETutf8mb4COLLATEutf8mb4DROPTABLEIFEXISTSCREATETABLEmxsmsnowfalkenode(idbigintNOTNULLAUTOINCREMENTCOMMENT主键ID,hostnamebigintNOTNULLCOMMENTIP地址,portintNOTNULLDEFAULT1COMMENT端口,deployenvtypeenum(ACTUAL,CONTAINER)COLLATEutf8mb4generalciDEFAULTACTUALCOMMENT部署环境类型,descriptionvarchar(255)COLLATEutf8mb4generalciDEFAULTCOMMENT说明,createtimetimestampNOTNULLCOMMENT创建时间,updatetimetimestampNOTNULLONUPDATECURRENTTIMESTAMPCOMMENT更新时间,PRIMARYKEY(id),UNIQUEKEYmixindex(hostname,port)USINGBTREE)ENGINEInnoDBDEFAULTCHARSETutf8mb4COLLATEutf8mb43。rain部署启动3。1通过提供的Package
  第一步:下载binarypackage
  可以从最新的最新的稳定版本页面下载。获取rainserver1。0。1SNAPSHOT。tar。gztarzxvfrainserver1。0。1SNAPSHOT。tar。gzcdrainserver1。0。1SNAPSHOT
  第二步:修改confapplication。properties
  修改application。properties配置中数据库相关配置:spring。datasource。urljdbc:mysql:ip:portuidgenerator?useUnicodetruecharacterEncodingutf8spring。datasource。usernamexxxspring。datasource。passwordxxxxx
  Tips:确保库地址,名称,端口号,用户名和密码正确
  第三步:启动服务shbinstart。sh
  4。Segment模式UID生成配置
  修改配置confapplication。properties文件,以下是配置说明
  配置
  默认值
  说明
  mxsm。uid。segment。threshold
  40hr缓存模式下当本地缓存阈值低于或者等于40后就会去数据库加载segment填充,取值范围0100
  mxsm。uid。segment。cachesize
  16hr缓存模式下默认加载的缓存segment的数量
  threshold和cachesize的大小影响从数据中获取的segment的频率,cachesize如果设置的过大在停机维护项目的时候会造成UID的浪费,但是cachesize大可以在数据库发生宕机的情况下能够继续服务之前已经加载内存中的bizCode。5。Snowflake模式UID生成配置
  修改配置confapplication。properties文件,以下是配置说明:
  配置
  默认值
  说明
  mxsm。uid。snowflake。timestampbits
  41hr雪花算法timestamp的位数
  mxsm。uid。snowflake。machineidbits
  10hr雪花算法machineid的位数
  mxsm。uid。snowflake。sequencebits
  12hr雪花算法序列号的位数
  mxsm。uid。snowflake。container
  false
  是否为容器化部署
  mxsm。uid。snowflake。timebitssecond
  false
  timestamp是否为秒
  mxsm。uid。snowflake。epoch
  20220501
  timestamp的相对时间,格式yyyyMMdd,并且在当前时间以前
  timestampbits、machineidbits、sequencebits三个位数和加起来要等于63。6。JavaSDK
  mavenclient依赖:dependencygroupIdcom。github。mxsmgroupIdrainuidgeneratorclientartifactIdversion{latestversion}versiondependency
  使用例子UidClientclientUidClient。builder()。setUidGeneratorServerUir(http:172。29。250。21:8080)设置服务地址。setSegmentNum(10)设置获取的segment数量。setThreshold(20)设置阈值。isSegmentUidFromRemote(false)设置是否直接从服务器通过Restful接口的方式获取。build();longuidclient。getSegmentUid(mxsm);longuidRemoteclient。getSegmentUid(mxsm,true);longsnowflakeclient。getSnowflakeUid();SourceCodeQuickStart
  第一步:clone代码gitclonehttps:github。commxsmrain。gitcdrain
  第二步:修改rainuidgeneratorserver项目中的application。propertiesspring。datasource。urljdbc:mysql:ip:portuidgenerator?useUnicodetruecharacterEncodingutf8spring。datasource。usernamexxxspring。datasource。passwordxxxxx
  第三步:maven打包服务mvncleanpackageDskipTeststrue
  第四步:启动服务javaXms1gXmx1gjar。rainuidgeneratorservertargetrainuidgeneratorserver1。0。1SNAPSHOT。jar
  我是蚂蚁背大象,文章对你有帮助点赞关注我,文章有不正确的地方请您斧正留言评论谢谢!
投诉 评论 转载

分布式ID生成器Rain学以致用是学习的目的,之前看了很多关于分布式ID生成器的方案,然后根据各种方案和自己的所学写了一个分布式ID生成器rain,rain提供了高可用和高并发,同时提供了JavaSD……昔日豫酒酒王面临破产重整宋河酒业为何陨落?当年的豫酒酒王如今面临着破产重整。北京青年报记者11月16日了解到,据全国企业破产重整案件信息网显示,宋河酒业已向鹿邑县人民法院申请破产审查,申请人和被申请人均为宋河酒业。……菏泽凉皮老板娘事件反转,女子不仅吃了三块烧饼,而且还要求退款山东菏泽一碗凉皮火了,同时爆火的还有老板娘,一位游客在当地买了一份15元的凉皮,觉得有酸味儿,进行了投诉。游客躺在床上觉得不对,打了12345进行投诉,要进行维权,女子与……夜读把鞋里的沙倒掉让人生来个优雅的转身。有人曾说:使人疲惫的不是远方的高山,而是鞋子里的一粒沙子。生活中亦是如此,真正令我们痛苦的,并不是外界的种种变化,而是内心的百般纠葛。可……林永健妻子周冬齐,晒出儿子林大竣的近照,网友一看就是亲生的林永健一夜之间也成为众所周知的小品演员。在2005年央视春晚的小品《装饰》中,林永健一人分三角,一句干嘛呢,干嘛呢,不仅得逗笑了几许观众,也成为了春晚经典小品之一。……如果有一天我消失了如果有一天我消失了,你们谁会去找我?最近,住的小区里面,没有信号,别人打电话给我,说不在服务区。很喜欢这样,觉得自己消失了其实,现在到这一刻,我的心,才真的安静下来……佩杜拉加拉塔萨雷有意租借扎尼奥洛,罗马要求加入强制买断条款直播吧2月3日讯据意大利记者佩杜拉透露,土耳其俱乐部加拉塔萨雷有意租借扎尼奥洛,但罗马要求加入强制买断条款。扎尼奥洛冬季离队不成,但他和罗马的关系已经破裂,继续留在罗马可……人海茫茫,岁月尚长,别回头,别将就每一个优秀的人,都有一段沉默的时光。那一段时光,是付出了很多努力,忍受孤独和寂寞,不抱怨不诉苦,日后说起时,连自己都能被感动日子。人海茫茫,岁月尚长,别回头,别将就,保持优雅的……千万不要小孩子一有感冒症状就给吃小儿氨酚黄那敏不知道有多少人像我一样家里小孩一感冒流鼻涕就给吃小儿氨酚黄那敏颗粒?说起这件事我心里真的很内疚很惭愧,我两个小孩,大的六岁,小的三岁,这几年来我一直都是这样,小孩一感冒只……在勇士人员流失,太阳热火争抢杜兰特的时候,绿军悄然完成升级自7月1日NBA自由市场开启以来,不少球队阵容有了巨大的变化。比如森林狼队,用贝弗利等5人加选秀权换来了戈贝尔,组成了唐斯戈贝尔的四亿中锋阵容。当然,还有不少球队受杜兰特……张凯丽太让人意外了!59岁穿蕾丝衫亮片裤携女儿走秀,好拼啊随着人们的审美变得越来越趋向于多元性和包容性,服饰的设计也慢慢变得更具造型感和个性感,因此人们在选择服饰与风格时也就有了更多的空间。不过虽然在尝试服饰与风格中可以进行偶尔的大胆……旧手机不要扔掉,还能改装成无线网用,太实用了一分钟教会你如何把我们不用的旧手机变成一个无线网卡!大家好,我是科技熊,一个专注于黑科技数码产品开箱体验以及实用技巧分享的up主。像手机技巧给大家分享了很多,当然每……
国安高性价比兽腰,曾自掏腰包来中超,近不惑之年再征战巴乙央视更新主持人最新排位!撒贝宁和朱迅有望成为一哥一姐那张最著名的黑洞照片,又有重要发现新驾驶员开车技巧天黑开车切莫关车大灯阳春三月三,荠菜当灵丹,春天多吃这天然抗生素,别错过奥运冠军孙一文参加时尚晚宴,一身白裙小露香肩,气质盖过女明星我生前的记忆捧着太阳燃烧管住嘴痛风患者要避免这5种食物大衣哥并不老实!陈亚男揭露离婚真相,怪不得要赔钱离开朱小伟多肉植物可以带上飞机吗小区绿化水可以饮用吗CBA最新排名出炉新疆第1辽宁第4广东拒绝垫底杀回第12
冯象:上帝的灵,在大水之上盘旋现行城市规划体制下城市设计再思考论文错误的性知识科普有哪些299元,诺基亚Nokia2204G正式上市4G全网通双卡双帮助宝宝选择易消化的饮品,酸奶是首选吃货的夏天国产少林武僧鞋国外爆红,身价暴涨14倍,网友他们太天真厨房排风扇品牌排行榜全国博物馆名录(4826家)用工关系的侵权责任的规定是什么?如何能够预防口腔溃疡为冬奥献礼延庆赛区这座海陀塔来头不小!

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找菏泽德阳山西湖州宝鸡上海茂名内江三亚信阳长春北海西安安徽黄石烟台沧州湛江肇庆鹤壁六安韶关成都钦州