唯一值

唯一值的实现方式

实现方案 工具 优势 劣势
UUID   实现简单、方便;重复性低 数据库查询效率低 可读性低;过于冗长
雪花算法 Godruoyi\Snowflake 基于内存、速度快;性能高;
不会产生额外的网络开销;数据依次成递增
依赖于服务器时间,如变动服务器时间则存在重复的情况
Redis B 基于内存、速度库;使用简单;
可分布数据、扩展性强
需要独立搭建一套服务、增加了维护成本;
跨应用调用、存在网络开销
数据库自增 MySQL AUTO_INCREMENT 代码层面无需任何特殊处理;利用MySQL特点实现数据递增 并发性能差;MySQL负担重
  • UUID全称:Universally Unique Identifier,即通用唯一识别码。
  • UUID的是让分布式系统中的所有元素都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。
  • 理论上说,若每纳秒产生1兆个UUID,要花100亿年才会将所有UUID用完

开关判定

  • 当一个单据有N个值,存在多重路径流转,需要经常判定路径是否支持流转,可以使用二维矩阵配置

    0表示不支持流转,1表示支持

    有多个条件判定的,分成多个配置,简化复杂性

  A B C D E
A 0 0 0 0  
B 1 0 0 0  
C 1 1 0 0  
D 1 1 1 0  
E 1 1 1 1