idgo 是一个利用 MySQL 批量生成 ID 的 ID 生成器, 主要有以下特点:
每次通过事务批量取 ID,性能较高,且不会对 MySQL 造成压力.
当 ID 生成器服务崩溃后,可以继续生成有效 ID,避免了 ID 回绕的风险.
业界已经有利于 MySQL 生成 ID 的方案,都是通过:
REPLACE INTO Tickets64 (stub) VALUES ('a');
SELECT LAST_INSERT_ID();
这种方式生成 ID 的弊端就是每生成一个 ID 都需要查询一下 MySQL,当 ID 生成过快时会对 MySQL 造成很大的压力. 这正是我写这个 lib 库的原因.
感兴趣的可以看看:
https://github.com/flike/idgo
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/245987
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.