分布式id探索:同心圆。
同心圆特性:
1.众所周知,同心圆有天然的隔离,没有交点。所以在分布式机器中是相互隔离,可独立运行。
2.微观角度,半径不同的同心圆,x坐标即使一样,y的坐标也会有细小差异(只要精度够,y的差异也是可以体现出来)。
3.在同一个圆上,每个区间理论上有无数的数可以供我们使用。
大胆假设:基于以上判断,将x与y的坐标组成一个字符串(id = x+y),应该是不会重复。
圆心为(0,0)的圆的坐标是 x2+y2=r2;
实验:分别取r2 = 1000000000,1000000001, 1000000003
x分别取值:1000.00000,1000.00001,1000.00002,1000.00003, 1000.00004计算出3组不同的结果,可以看到:
1.即使x增加0.00001的值,y在同一半径都是有差异的(如:31606.96125856,31606.96125824)。
2.x不变,