V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐工具
RoboMongo
推荐书目
50 Tips and Tricks for MongoDB Developers
Related Blogs
Snail in a Turtleneck
Feiox
V2EX  ›  MongoDB

如何写一个超高速的 ID 分配服务器,用于 MongoDB

  •  
  •   Feiox · 2015-05-12 15:23:34 +08:00 · 4373 次点击
    这是一个创建于 3490 天前的主题,其中的信息可能已经有所发展或是发生改变。

    受不了 mongodb 的一串 objectId ~
    如何写一个保证原子性, 1k 并发,响应速度小于 2ms 的走 tcp 的 id 分配服务器。 。.
    Python 能搞定么 ~ 还是要上 pypy ,还是要上 go 或 c。应该要利用 redis 吧。

    6 条回复    2015-05-13 11:20:44 +08:00
    woshifyz
        1
    woshifyz  
       2015-05-12 16:29:26 +08:00
    1. id生成器的话,不太需要redis, 只需要基本的 timestamp + zone + sequence
    2. 程序本身耗时肯定不需要2ms, 看你带宽了
    3. 这个量的话,python能搞定
    llbgurs
        2
    llbgurs  
       2015-05-12 16:51:47 +08:00
    liuzhoou
        4
    liuzhoou  
       2015-05-13 09:12:04 +08:00 via Android
    PPQ
    yueyoum
        5
    yueyoum  
       2015-05-13 10:50:24 +08:00
    用了 UUID, 从此没烦恼
    darrenxyli
        6
    darrenxyli  
       2015-05-13 11:20:44 +08:00
    对于这种identifier的业务逻辑都一样。选一个base的进制,然后每个服务器负载一部分进制,随便你多少并发保证你原子性。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2622 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 07:16 · PVG 15:16 · LAX 23:16 · JFK 02:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.