分布式系统中实现递增序列该怎么做呢?

-

如果是本地的话,直接用 AtomInteger这样的东西来处理; 那如果是分布式系统中,如何处理比较好呢?

分布式系统 ZooKeeper

非要实现的话,可以有几种方式吧:
1. 使用数据库的主键递增来实现,优点是稳定可靠,缺点是存在单点问题,一旦数据库出现问题,那个分布式序列服务将不可用。
2. 使用阿里巴巴推出的DRDS服务(分布式关系型数据库服务_DRDS_详情介绍),其提供全局唯一数字id服务,帮助您在分布式环境下,继续保持类似唯一键、主键等数据的全局(所有节点)唯一性。
3. 使用ZooKeeper ZNode的顺序性特点来生成全局序列。

id生成服务啊,可以看看twitter开源的snowflag算法

固定主机数K的系统中,主机编号为i,以i为初始值,以K为步长自增。缺点,不能动态扩展

© COPYRIGHT BY i How And Why.com 2015