当前位置: 首页 > news >正文

太原网络公司网站山西建设银行官方网站

太原网络公司网站,山西建设银行官方网站,传媒网站建设价格,iis7 安装 wordpress一:概述 - SnowFlake 算法 - 是 Twitter 开源的分布式 id 生成算法。 - 应用场景 - 高性能的产生不重复 ID,支持集群的横向扩展。 二:原理 - 其核心思想就是: - 使用一个 64 bit 的 long 型的数字作为全局唯一 id。 - 在分布…

一:概述

- SnowFlake 算法

- 是 Twitter 开源的分布式 id 生成算法。


- 应用场景

- 高性能的产生不重复 ID,支持集群的横向扩展。


二:原理

- 其核心思想就是:

- 使用一个 64 bit 的 long 型的数字作为全局唯一 id。

- 在分布式系统中的应用十分广泛,且 ID 引入了时间戳,基本上保持自增的。

 
- 产生公式

-  | 0 (最高位预留) | 时间戳 (41 位) | 机器 ID (10 位) | 随机序列 (12 位) |

- 形成 64 位 bit

 
三:实现解析

- 0 (最高位预留)

- 因为二进制里第一个 bit 为如果是 1,那么都是负数,但是我们生成的 id 都是正数,所以第一个 bit 统一都是 0。

 
- 时间戳 (41 位)

- 41 bits 的 Timestamp,每次要生成一个新 ID 的时候,都会获取一下当前的 Timestamp, 保证每个 timestamp 都是不同的。

 
- 机器 ID (10 位)

- 10 bits 的机器号,在 ID 分配 Worker 启动的时候,从一个 集群获取 (保证所有的 Worker 不会有重复的机器号)。

 
- 随机序列 (12 位)

- 12 bit 随机数。

 
- 组成 64 位 bits,成为 10 进制的 16 位 unique Id
 

四:代码简单实现

<?php
/*** 雪花算法*    其核心思想就是:*    使用一个 64 bit 的 long 型的数字作为全局唯一 id。*    在分布式系统中的应用十分广泛,且ID 引入了时间戳,基本上保持自增的。* 产生公式*    | 0(最高位预留) | 时间戳(41位) | 机器ID(10位) | 随机序列(12位) |*/
class IdCreate
{const max12bit = 4095;public static function createOnlyId(){// 获取微秒时间戳(42位),截取并转化为 41位二进制$microtime = decbin(floor(microtime(true) * 1000));// 10bit 的机器号,由集群产出$machineId = self::machine();// 12bit 的随机数$random = str_pad(decbin(mt_rand(0, self::max12bit)), 12, "0", STR_PAD_LEFT);// 拼接$base = '0' . $microtime . $machineId . $random;// 十进制 返回return bindec($base);}/*** 集群* @param int $machineId* @return string*/public static function machine($machineId = 0){return str_pad($machineId, 10, "0", STR_PAD_LEFT);}
}$cast_id = IdCreate::createOnlyId();
var_dump($cast_id);

http://www.yayakq.cn/news/848131/

相关文章:

  • 网站域名费用怎么做分录设计类专业网站
  • 网站建站六个目标游戏优化
  • 网站建设预算表格株洲定制网站建设
  • 一级A视网站 一级做爰片常州公司网站建设多少钱
  • 大连高端网站建设做网站推广有作用没
  • 重庆seo网络推广关键词常德网站建设网站优化
  • 静态网站做毕业设计网站建设价格差异多少
  • 推广做网站电话建自己的零售网站
  • 网站建设公司挣钱吗建设银行的官方网站积分商场
  • 熊掌号接合网站做seo个人网站有哪些站
  • 怎样建设网络游戏网站wordpress v2ex主题
  • 有口碑的盐城网站建设商城网站哪个公司做的好
  • 犀浦网站建设为什么wordpress不能升级
  • 建设银行网站首页打西安市建设工程交易网
  • 做网站的linux程序代码中国知名的建网站的公司
  • 做漂亮的二维码网站郑州网站建设如何
  • 网站首页图怎么做微网站首选公司
  • 怎么注册晋江网站做的个人网站不能备案
  • 社交网站开发成本专业彩票网站开发 APP开发
  • 专做定制型网站装修论坛网站有哪些
  • 淘掌门官方网站怎么彻底关闭微信小程序
  • iis做的网站模板制作网页时用的最多的图像格式
  • 巩义推广网站哪家好清溪做网站的电话
  • 做爰网站1000部网站后台管理系统权限
  • 网站的注册网络营销工程师前景
  • 四川省城乡住房建设厅网站天辰建设网
  • 订餐网站怎么做网页美术设计专业
  • 宁波网站推广优化张家口网站建设价格
  • 原来做网站后来跑国外了电子政务网站建设公司排行榜
  • iis的网站默认端口用局域网建设网站