业务系统需要什么样的ID生成器 ID 生成器在微博我们一直叫发号器,微博就是用这样的号来存储,而我微博里讨论的时候也都是以发号器为标签。它的主要目的确如平常大家理解的“为一个分布式系统的数据object产生一个唯一的标识”,但其实在一个真实的系统里可能也可以承担更多的作用。概括起来主要有以下几点: ...
分类:
其他好文 时间:
2016-04-07 09:38:08
阅读次数:
189
通过mysql的auto increment自增id值可能会泄漏一些敏感的数据。
例如用户表的user_id是自增的,在url中显示的id值可能就泄露了网站真实的用户数。
下面代码通过php及redis的incrby实现简单的发号器,代码如下:
function get_id($type, $server_ip, $server_port, $key) {
$init_num = 0...
分类:
其他好文 时间:
2015-07-09 16:17:46
阅读次数:
976
ID 生成器在微博我们一直叫发号器,微博就是用这样的号来存储,而我微博里讨论的时候也都是以发号器为标签。它的主要目的确如平常大家理解的“为一个分布式系统的数据object产生一个唯一的标识”,但其实在一个真实的系统里可能也可以承担更多的作用。概括起来主要有以下几点:
1. 唯一性
2. 时间相关
3. 粗略有序
4. 可反解
5. 可制造
...
分类:
其他好文 时间:
2015-01-19 14:31:59
阅读次数:
208
近日平稳运行了将近4年的发号器突然出现问题,在元旦0分的时候出现短暂的性能下降,导致发号失败率飙高到一个不可接收的值,哎,意外总是发生在你想不到的地方。这几天赶紧和小伙伴们赶紧追查原因,制定改造方案,下面记录一下分析和定位问题的过程,以便后期查阅,并不在同一个地方跌倒两次。一、分析过程1、现象现象是...
分类:
其他好文 时间:
2015-01-08 14:56:41
阅读次数:
724