Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

这是一个id生成器,主要为互联网的各种业务生成id(也就是数据库主键)。该id生成器生成的id主要被用来做数据路由之用。和Albianj2配合,可以快速而简单的搭建完整的分布式业务系统!

License

Notifications You must be signed in to change notification settings

crosg/idCreator

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

idCreator

idCreator是我们设计并且开发一个分布式的id生成器。它主要为业务系统提供唯一、索引友好、 可排序的id。它解决了互联网行业中,使用int自增id或者是string类型的自定义id而导致的 无法方便的分库分表或者是id排序不友好问题。提到id生成器,twitter的snowflake算法 不得不被提起,但是snowflake的算法因为使用了二进制的移位做法,导致其生成的算法过 度的对于机器友好,对于人类并不是那么的友好,也就是说snowflake生成的id对于人类来 说并不能“望文生义”。

我们目前的idCreator主要提供3种规则的id:

  1. 如果你喜欢snowflake算法,你一样可以选择我们的idCreator,它也有算法支持;
  2. 如果你需要做数据路由,也就是分库分表操作,我们的idCreator就是生成这种带有 路由信息性质的id的,你更应该选择它;
  3. 如果你仅仅自是想做排序id,那么我们的idCreator为你提供了每秒递增的id;
    再不久的将来,目前已经加入了我们的计划。我们将再提供一种id:
  4. 按照时间和自定义步长严格递增的id,主要用来作为状态值等使用。也可以用来做强类型 的数据路由。

idCreator安装方法

  1. 下载并且安装libev
  2. 下载当前idCreator源码
  3. 进入idcreator目录,执行make即可
  4. make执行完成后,在idcreator目录下,有idCreator可执行文件
  5. 进入config文件夹,根据你实际的情况配置id生成器信息
  6. 执行./idCreator config/idcreator.config 即可运行

#idCreator 限制

  1. 目前每台机器一秒大概可以生成10k的id
  2. 目前id生成器的机器总数被限定在10台,mid从0--9
  3. 目前id生成器被设计成明确生成类型的最大值为100,也就是为100种数据生成id
  4. 分库的位被设计成空余了2位,也就是说最多支持一个业务被拆分成100个数据库,从0-99
  5. 目前,id生成器只支持linux运行

#idCreator客户端

  1. C,本身idCreator就是c写的,所以它有c的客户端没有什么意外
  2. java,但是目前该客户端需要和albianj一起被使用
  3. http,屏蔽各种语言,idCreator支持通过http访问,其内置有web服务器, expl:http://10.97.19.58:8988/?type=1 可以使用这样的路径访问id生成器,你会得到一串 json的响应:{error:0, errorMessage:success, result:4159860000002400},其中result就是你需要的id值

详细文档请查看wiki

#idCreator 文档列表和qq群:   [idCreator的设计思路文档] (http://www.94geek.com/2015/idcreator.html "idCreator设计思路文档")   qq群:528658887

关于我们:

我们是阅文集团的技术团队,阅文集团于2015年成立,统一管理和运营原本属于盛大文学 和腾讯文学旗下的起点中文网、创世中文网、小说阅读网、潇湘书院、红袖添香、云起书 院、榕树下、QQ阅读、中智博文、华文天下等网文品牌。

About

这是一个id生成器,主要为互联网的各种业务生成id(也就是数据库主键)。该id生成器生成的id主要被用来做数据路由之用。和Albianj2配合,可以快速而简单的搭建完整的分布式业务系统!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.