91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

雪花算法(04)機器信息

發布時間:2020-07-21 09:17:58 來源:網絡 閱讀:263 作者:小布哥哥s 欄目:編程語言

時間部分生成后,下一步是機器信息,占10位。我們這里把機器信息分成兩部分,一部分是數據中心id,占5位,一部分是機器id,占5位。這兩個id可以在部署項目的時候根據不同的機器自定義不同的id,這樣能人為的保障每個id都不同。比如:

雪花算法(04)機器信息

也可以根據自己機器的情況自動生成,不過有很小很小的風險會重復,這個風險碰到的幾率不大,當然如果能手動設置還是最好的。我們來說一下自己生成的情況。

我們的jdk庫中,有api可以獲取本地機器的hostname和hostaddress,我們來看一下:

雪花算法(04)機器信息

我們來把hostname的信息作為數據中心id,把hostaddress的信息作為機器id,如何把兩個字符串改為兩個數字id呢?其實很簡單。獲取字符串的字節數組,然后把數組的每個數字相加,對節點數的最大值取余:

雪花算法(04)機器信息

每個id的長度都是5,二進制中5個1的最大值就是31,所以數據id和機器id每個的最大值也是31,下面是獲取兩個id的方法:

雪花算法(04)機器信息

如果出現異常,返回一個隨機數,保證id的可靠性。下面可以定義兩個的id了:

雪花算法(04)機器信息

因為機器信息分成了兩部分分別生成的,所以,要分別位移,數據id要向左位移17位,機器id要向左位移12位。正好占據10位。

現在我們再來看下第二部分機器信息的限制,這兩個id每個的值都占五位,二進制的值從 00000 到11111,整數的范圍就是0-31之間共32個。那么雪花算法可以部署的機器數就是32*32=1024個,這是機器信息的限制,現在看這數字也是足足的夠了。注意如果自己給這兩個參數賦值,也要限制在31之內。

代碼地址:https://gitee.com/blueses/snowflake-demo 04

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

河东区| 红河县| 乌兰浩特市| 论坛| 阜新| 金堂县| 井研县| 博爱县| 五莲县| 康乐县| 黄梅县| 湾仔区| 桦甸市| 永清县| 东安县| 大关县| 宣化县| 蚌埠市| 保山市| 旬邑县| 泰和县| 通城县| 东明县| 宁强县| 嵩明县| 观塘区| 呼和浩特市| 麻江县| 连江县| 夏邑县| 汶川县| 资兴市| 双城市| 莲花县| 高淳县| 兴安盟| 闽侯县| 娄底市| 永德县| 湖州市| 丽江市|