分布式也不是不可以在不同的地方生成唯一的id,需要考虑一定的算法,之前做视频的时候一个大的系统下面有上万台设备,而且每个设备可能都不在一个省份,这些设备就能够保证很好的唯一性,就是采用了统一的数字编码,一个32位的整数可以唯一标示任何设备,这种方式也适用于类似多服务器的架构设计,先把服务器编码,然后是跟这个服务器相连接的终端编码,终端对应的数据再进行一个层次的编码,如果一个32位的数不够用可以用一个64位的整数,这种方式的好处是大家不需要考虑别的服务器的状态,不需要同步,只需要根据统一的算法生成ID就可以了,而且ID本身是个整数,在数据库查询、排序的时候效率都高。