统一ID服务

编程入门 行业动态 更新时间:2024-10-21 14:24:52

统一<a href=https://www.elefans.com/category/jswz/34/1771396.html style=ID服务"/>

统一ID服务

代码已经修改 调用方式 为restful请求  或者 feign请求  请参考 wiki:   http://192.168.120.46:8090/display/peixun/akucun+Guid

 

项目组对接人员采用的方式版本修改最后时间
订单贺周群工具类1.0.20-SNAPSHOT已修改,11月15日上线
支付崔宏辉工具类本地暂时不做修改
旧订单王硕星工具类1.0.20-SNAPSHOT已修改,最迟11月20日上线
旧版会员蔡建zuulakucun-base-data-new11月15日修改

 

 

guid ID 18 三个环境 

restful 调用方式
dev: http://192.168.120.97:8080/base/guid/31/31
test: http://172.19.1.198:8080/base/guid/31/31
prod: 

feign调用方式: 

<dependency>
<groupId>com.akucun.base.data</groupId>
<artifactId>base-data-facade-stub</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>

调用其中的接口:  com.akucun.base.data.stub.GuidRemote

 

已下内容已经过期 , 供参考

 

18位long型 ID生成算法snowflake原理:   

 

1) spring项目引用 akucun-common-base: 

<dependency>     

        <groupId>com.akucun</groupId>     

        <artifactId>akucun-common-base</artifactId>     

        <version>${com.akucun.cloud.base.version}</version>

</dependency> 

当前版本 :

<com.akucun.cloud.base.version>0.0.1-SNAPSHOT</com.akucun.cloud.base.version>

2) 项目中添加如下类

 

PrimaryKeyGenerater.java

3) 项目启动添加参数

 

-Dguid.datacenter.id=2  -Dguid.machine.id=3

 

guid.datacenter.id数据中心
guid.machine.id数据中心中对应的服务器编号

 

4) 获取对应数据

SpringUtil.getBean(PrimaryKeyGenerater.class).nextId()

datacenter:  SpringUtil.getBean(PrimaryKeyGenerater.class).getDatacenterId()

machine: SpringUtil.getBean(PrimaryKeyGenerater.class).getMachineId()

 

 

大厂的id设计 全局数据库生成唯一id型: 京东商城订单号格式:157444499 全局数据库 苏宁易购订单号格式:2000839647 全局数据库 凡客诚品订单号格式:213052230059 业务编码+年的后2位+月+日+订单数 银泰网订单号格式:10030522161715 年的第三位数+业务编码+年的后1位+月+日+订单数 淘宝的订单号格式:126036803257340376 14位为序号+买家ID的倒数1-2位+买家ID的倒数3-4位 Twitter Snowflake 格式 :458607675730102138 14位时间戳+ 数据中心2+服务器2位 + 顺序号4位 可归类4种: 方案1: 利用全局数据库(rmdb or nosql) 提供自增的字段ID, 具体业务端可一次读取多条id 提高性能 -- id 短 , 性能一般,维护成本高, 可读性一般 方案2: 年月日+日级别一定位数的序号(如 00001, 序号维护同方案1) -- id 短 , 性能一般,,维护成本高, 可读性高 方案3:淘宝方案 4位序号+买家4位ID -- id 长, 性能一般,,维护成本高, 可读性高只需读取后6位基本可判断订单 方案4: Twitter Snowflake方案 -- id 长, 性能高,,维护成本底, 可读性差 , 可参考方案3 把后4位改为用户id后4位组合 爱库存对id的需求场景: 1. 订单ID (完整编号、短号) 2. 发货单ID (完整编号、短号) 3. 代购ID (会员编号) (亿级) 4. 商家ID (千万级) 5. 售后申请服务号 (亿级) 6. 支付流水号 7. 支付退款流水号 8. 业务上使用的合并支付单号 方案选取原则: 1: 12位左右ID 选择方案2 2: 短id 选择方案1 3: 考虑数据中心的概念 选择方案4 ( 当前新项目采用此方案 , 新会员, 商户商家)

 

转载于:.html

更多推荐

统一ID服务

本文发布于:2023-06-20 12:58:54,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/801895.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:ID

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!