目前在做一个系统,数据库是 MySQL,数据是跨机房单向同步的,由节点服务器向主服务器同步数据,需要节点服务器能生成全局唯一 ID。
目前在用的是 uuidtools 这个 gem 生成 uuid。
但生成的 uuid 有点长,而且数据大部分是日志,而且看了这个回复,觉得用 uuid 不妥,这几天想优化一下,找到另外一个方案:
使用 hashids 这个 gem,每个节点服务器不同的 salt,然后再根据生成的 uuid 来生成 id。
但 hashids 依然是生成字符型的,想请教一下有没有生成 bigint 的方法或者更好的方案?
ps: 由于 twitter 的 snowflake 需要另外搭建专用的 id 生成服务器,而节点服务器之间也是跨机房的,所以这个方案对我不适用。
ps: 关闭讨论按钮总是被误点到。