UUID是128位的全局唯一标识符通常由32芓节的字母串表示。它可以保证时间和空间的唯一性也称为GUID。
它通过MAC地址时间戳,命名空间随机数,伪随机数来保证生成ID的唯一性
UUID主要有五个算法,也就是五种方法来实现
由MAC地址,当前时间戳随机数字生成。可以保证全球范围内的唯一性但是由于MAC地址的使用同时带来了安全问题,
局域网中可以使用IP来代替MAC
算法和uuid1相同,不同的是把时间戳的前4位换位POSIX的UID实际中很少用到该方法。
通过计算名字和命名空间的MD5散列值得到保证了同一命名空间中不同名字的唯一性,和不同命名空间的唯一性
但同一命名空间的名芓生成相同的uuid。
由伪随机数得到有一定的重复概率,该概率可以计算出来
- uuid4存在概率性重复,由无映射性最好不用
- 如果在global的分布式计算环境下,最好用uuid1
- 若有名字的唯一性要求最好使用uuid3或uuid5