码迷,mamicode.com
首页 > 编程语言 > 详细

通过rest接口获取自增id (twitter snowflake算法)

时间:2016-11-08 23:19:43      阅读:281      评论:0      收藏:0      [点我收藏+]

标签:分布式系统   核心   bsp   还需   image   需要   记录   str   blank   

1.  算法介绍

参考 http://www.lanindex.com/twitter-snowflake%EF%BC%8C64%E4%BD%8D%E8%87%AA%E5%A2%9Eid%E7%AE%97%E6%B3%95%E8%AF%A6%E8%A7%A3/

Twitter-Snowflake算法产生的背景相当简单,为了满足Twitter每秒上万条消息的请求,每条消息都必须分配一条唯一的id,这些id还需要一些大致的顺序(方便客户端排序),并且在分布式系统中不同机器产生的id必须不同。

Snowflake算法核心

时间戳工作机器id序列号组合在一起

技术分享

2.  功能实现

基于beego 框架 

代码详见: https://github.com/mtour/restsnowflake

技术分享

个人觉得此算法设计的很巧妙,可以方便记录按照时间排序,10位的机器id,足以支撑1024个节点

 

通过rest接口获取自增id (twitter snowflake算法)

标签:分布式系统   核心   bsp   还需   image   需要   记录   str   blank   

原文地址:http://www.cnblogs.com/mtour/p/6044931.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!