- 浏览: 495961 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (502)
- Java (70)
- Linux (10)
- 数据库 (38)
- 网络 (10)
- WEB (13)
- JSP (4)
- 互联网 (71)
- JavaScript (30)
- Spring MVC (19)
- HTML (13)
- CSS (3)
- AngularJS (18)
- Redis (5)
- Bootstrap CSS (1)
- ZooKeeper (4)
- kafka (6)
- 服务器缓存 (4)
- Storm (1)
- MongoDB (9)
- Spring boot (16)
- log4j (2)
- maven (3)
- nginx (5)
- Tomcat (2)
- Eclipse (4)
- Swagger (2)
- Netty (5)
- Dubbo (1)
- Docker (7)
- Hadoop (12)
- OAuth (1)
- webSocket (4)
- 服务器性能 (7)
- Session共享 (1)
- tieye修改 (1)
- 工作 (1)
- 有用的语录 (0)
- https (2)
- common (5)
- 产品开发管理 (1)
- CDN 工作原理 (1)
- APNS、GCM (1)
- 架构图 (3)
- 功能实现分析 (1)
- JMX (1)
- 服务器相关操作命令 (1)
- img02 (0)
- 服务器环境搭建 (9)
- goodMenuBook (1)
- CEInstantPot (0)
- 有用数据 (1)
- 百度地图WEB API (2)
- 正则表达式 (1)
- 样式例子 (2)
- staticRecipePressureCooker.zip (1)
- jCanvas (1)
- 网站攻击方法原理 (1)
- 架构设计 (3)
- 物联网相关 (3)
- 研发管理 (7)
- 技术需求点 (1)
- 计划 (1)
- spring cloud (11)
- 服务器开发的一些实用工具和方法 (1)
- 每天学到的技术点 (4)
- Guava (1)
- ERP 技术注意要点 (2)
- 微信小程序 (1)
- FineRepor (1)
- 收藏夹 (1)
- temp (5)
- 服务架构 (4)
- 任职资格方案 (0)
- osno_test (1)
- jquery相关 (3)
- mybatis (4)
- ueditor (1)
- VueJS (7)
- python (10)
- Spring EL (1)
- shiro (1)
- 前端开发原理与使用 (7)
- YARN (1)
- Spark (1)
- Hbase (2)
- Pig (2)
- 机器学习 (30)
- matplotlib (1)
- OpenCV (17)
- Hystrix (1)
- 公司 (1)
- miniui (4)
- 前端功能实现 (3)
- 前端插件 (1)
- 钉钉开发 (2)
- Jenkins (1)
- elasticSearch使用 (2)
- 技术规范 (4)
- 技术实现原理 (0)
最新评论
分布式ID生成规则和代码实现
64位最大为20位数,取到19位,可以全为9
时间戳到毫秒级13位9可以到2250年了
最后4位放用户ID后4位,方便路由到同一个库中(可容纳10000个库了)
还有2位是毫秒的序列号,这样生成ID最大可以每毫秒生成100个,但可以多次申请后缓存起来
(其实最多可以取到180),但一般取到150都可以应付每秒15W个ID了,
订单ID
//如果是LONG型的,就用13位时间戮加6位用户ID的后6位
//如果是STRING,可用20180909121325+用户ID后4位+卖家ID后4位+商品ID后3位(方便分库和分表路由到同一个库中,保持事务的一致性,按按月分库分表出满足)
其他生成速度要求不快的ID可以定义规则可以使用数库保存流水号的方式进行生成
用户ID可以使用流水号生成
商品ID可以是时间戮加6位用户ID组成
订单ID可以是时间戮加10位商品ID组成
64位最大为20位数,取到19位,可以全为9
时间戳到毫秒级13位9可以到2250年了
最后4位放用户ID后4位,方便路由到同一个库中(可容纳10000个库了)
还有2位是毫秒的序列号,这样生成ID最大可以每毫秒生成100个,但可以多次申请后缓存起来
(其实最多可以取到180),但一般取到150都可以应付每秒15W个ID了,
订单ID
//如果是LONG型的,就用13位时间戮加6位用户ID的后6位
//如果是STRING,可用20180909121325+用户ID后4位+卖家ID后4位+商品ID后3位(方便分库和分表路由到同一个库中,保持事务的一致性,按按月分库分表出满足)
其他生成速度要求不快的ID可以定义规则可以使用数库保存流水号的方式进行生成
用户ID可以使用流水号生成
商品ID可以是时间戮加6位用户ID组成
订单ID可以是时间戮加10位商品ID组成
发表评论
-
选举算法
2022-06-17 08:48 427选举算法 常用的选举 ... -
elasticSearch使用
2022-04-27 08:42 416ElasticSearch 基于Apache Lucene构建 ... -
IDEA 快捷键
2022-03-02 16:55 245大小写转换快捷键 ctr+shift+u IDEA ... -
每天学到的技术点3
2022-02-21 20:01 2451.TEXT与BLOB的区别,二者 ... -
zookeeper dubbo 安装
2021-12-04 19:27 315docker-machine ssh default d ... -
将博客搬至CSDN
2021-11-18 19:57 189将博客搬至CSDN -
docker mysql 主从安装
2021-11-10 16:55 235docker run -d -p 13306:3306 --n ... -
rocketmq安装部署.txt
2021-11-07 19:10 218docker search rocketmq docke ... -
JVM 调优与测试
2021-05-22 22:24 580VisualVM 能够监控线程,内存情况,查看方法的CPU ... -
百度人脸识别
2021-05-21 16:11 363package com.gaojinsoft.htwy.y20 ... -
springboot tomcat 参数配置与数据库连接池多少的性能分析
2021-05-12 22:15 560参数配置与数据库连接池多少的性能分析 tomcat线程数 ... -
springBoot tomcat配置参数说明
2021-05-12 09:13 3018#最大连接数 server.tomcat.max-connec ... -
技术选型
2021-01-29 17:34 2921.移动端组件vux,vant,vant好点,文档好的,基于v ... -
方便开发调试和问题跟踪
2021-01-01 10:17 2481.外网最好可以连接数据库 2.关键信息可以在接口返回信息, ... -
log4j2应用
2020-07-23 14:16 363https://blog.csdn.net/giventian ... -
文件上传下载
2020-07-06 13:16 4201.文件ID,名字(源,目标),大小,路径(/aa/bb/s. ... -
Jenkins脚本
2020-03-12 17:55 443#!/bin/bash -ilx echo "开始 ... -
base64与file 相互转换
2019-10-23 18:19 775base64与file 相互转换 import org. ... -
百度身份证识别
2019-10-18 18:19 673package com.gaojinsoft.htwy.y20 ... -
钉钉开发
2019-09-17 20:16 433钉钉开发 开发者帐号 1357047443 x***310* ...
相关推荐
在Java分布式环境中,生成唯一的ID(唯一标识符)是一个至关重要的任务,特别是在高并发和大数据量的场景下。...通过学习和理解这些代码,我们可以更好地掌握在Java环境中如何设计和实现一个高效的分布式ID生成系统。
在本文中,我们将介绍Leaf-snowflake模式和Leaf-segment模式这两种分布式ID生成方式,并讨论它们的特点、应用场景和使用方法。 Leaf-snowflake模式 Leaf-snowflake模式是一种基于Zookeeper的分布式ID生成方式。它...
例如,可以为订单、用户等不同业务场景定制ID生成规则。 3. **动态配置**: Leaf允许动态地调整配置,如机器ID、序列号范围等,以适应业务的变化和扩展。 4. **高性能与低延迟**: Leaf通过优化算法和减少网络通信,...
号段模式是一种常见的分布式ID生成方式,它依赖于数据库但与数据库主键自增有所不同。在这种模式下,预先从数据库中批量获取一定数量的连续数字作为ID号段,比如每次获取100个连续的数字。当需要新的ID时,从当前...
在具体项目中,选择合适的方法和工具生成规则序号能够极大地提高效率,保证数据的准确性和可追踪性。而理解不同生成策略的优缺点,以及它们在不同场景下的适用性,是每个IT专业人员应该掌握的基本技能。对于压缩包中...
为了实现这个功能,开发者可能需要创建一个自定义的ID生成器类,该类可以调用 Snowflake 算法或者其他分布式ID生成策略,并结合业务规则来构造最终的订单号。同时,为了适应多线程和并发场景,生成器类需要处理好...
4. **分布式策略**:使用分布式ID生成器(如Snowflake)为每个URL生成唯一标识,避免不同节点间冲突。 5. **结果合并**:设计Pipeline处理各节点爬取的结果,确保数据的一致性和完整性。 【四、具体实现步骤】 1. ...
- **集群范围ID生成器**:全局唯一的ID生成服务。 - **轻量级成员**:优化集群成员配置。 - **应用场景**:集群管理、资源分配等。 #### 九、事务处理 (Transactions) - **定义**:支持ACID事务特性,确保数据...
Tracer的工作原理通常是通过在分布式系统中的每个微服务节点上插入代码来记录和传播上下文信息。这些信息包括但不限于请求ID、调用链路、时间戳以及各种自定义元数据。当一个请求进入系统时,Tracer会生成一个唯一的...
成功响应返回JSON格式数据,包括RequestId,而失败响应会提供错误代码和信息,同时包含RequestId和HostId,便于问题排查。 【错误代码表】提供了详细的错误代码和原因,当调用接口出错时,可以根据错误代码定位问题...
总之,Android中的ID生成不仅仅是简单的数字组合,它涉及到数据校验、唯一性保证、安全加密和性能优化等多个方面。理解和掌握这些技术,对于Android开发者来说至关重要,尤其是在处理用户敏感信息的场景下。通过学习...
* 自定义文件元数据存储格式,自定义文件名生成规则保证文件在同一个时段内的**唯一性**,并基于该特性实现**断点续传** * 使用 **ReenTrantReadWriteLock** 降低同一文件读写冲突,提高文件IO并发度 ### 模块...
此外,如果账号生成需求更为复杂,比如需要考虑并发安全或者分布式环境,我们可以考虑使用原子操作(如`AtomicInteger`)或者分布式ID生成器(如Snowflake算法或UUID)来保证账号的唯一性和顺序性。 总结一下,Java...
Snowflake ID是一种分布式ID生成算法,由Twitter开源,能够生成全局唯一的64位整数ID,具有时间戳、工作节点ID和序列号等信息,有效解决了大规模分布式系统中的唯一标识问题。而`aiosnow`库则是Python异步版本的实现...
统一事务处理**:通过DRDS,业务端无需编写复杂的多数据库间的事务处理代码,而是通过DRDS提供的接口来实现跨多个数据库的事务一致性操作,简化了业务系统的开发和维护工作。 **4. 数据导入与管理**:DRDS支持从多...
TM作为全局事务管理者,会为每个分布式事务生成一个全局事务ID(GID),并监控事务的生命周期。当一个分布式事务开始时,TM会通知所有涉及到的事务参与者(如数据库、消息队列等),并管理它们的局部事务状态。在...
在这个项目中,Verilog被用来设计和实现CAN协议控制器,它负责解析和生成CAN总线上的信号,包括仲裁、数据传输、错误处理等。 3. **文件结构**: - `can_bsp.v`:可能代表基础支撑模块,包含CAN控制器的基础功能和...
4. **Apriori类**:作为算法的核心,包含初始化、挖掘频繁项集和生成关联规则的方法。 在代码实现过程中,你可以使用数据结构如`HashSet`来存储项集,`HashMap`来存储支持度计数,以提高查找和更新效率。同时,为了...
- **分布式ID生成器**:如Twitter的Snowflake算法,或者美团的Leaf服务,能生成全局唯一的ID,适用于大规模分布式系统。 以上工具类的实现,通常会封装成独立的Java类或者JavaScript模块,供项目其他部分复用,以...
5. **分布式环境下的编号生成**:在分布式系统中,可以采用全局唯一ID生成服务,如Twitter的Snowflake算法或百度的UidGenerator,它们能保证在分布式环境下的编号全局唯一且有序。 6. **缓存机制**:为了提高性能,...