按照视频中的描述:“PD一次性给TiDB Server(Client)分配3秒内所有的TSO。TiDB Server先用这3秒内的TSO,用完之后再向PD申请下一个3秒区间内的TSO。”这个描述是否有问题?按此描述,如何保证分布式的全局有序?
或者按视频中描述,试想如下场景:
-
10:00:00.000 TiDB Server1 申请TSO,PD为其预分配了10:00:00.000-10:00:03.000之间的TSO,并将10.00.03.000存入etcd中。
-
10:00:01.000 TiDB Server2 申请TSO,PD读取etcd后,为其预分配10:00:03.000-10:00:06.000之间的TSO。但是,TSO的物理时钟是unix time的毫秒时间,应该是10:00:01.000。这不是前后矛盾了么?