摘要:是一款由語言開發的,基于的的生成服務全局唯一標識符是指在一臺機器上生成的數字,它保證對在同一時空中的所有機器都是唯一的。使用了服務器主機名運行的進程時間戳隨機數時序元素等一系列元素來保證生成的唯一性。
Guuid 是一款由 Go 語言開發的,基于HTTP的REST的 UUID 生成服務
Github:https://github.com/dreamans/g...
UUID(Universally Unique Identifier)全局唯一標識符,是指在一臺機器上生成的數字,它保證對在同一時空中的所有機器都是唯一的。
Guuid使用了服務器主機名、運行的進程ID、時間戳、隨機數、時序元素等一系列元素來保證生成UUID的唯一性。
UUID 16 bytes, 構成:
4 bytes 主機名&進程ID
4 bytes 時間戳
4 bytes 計數器
4 bytes 隨機數
安裝$ go get -u github.com/dreamans/guuid/guuid-server $ cd $GOPATH/src/github.com/dreamans/guuid/guuid-server $ go install運行
$GOPATH/bin/guuid-server -port 11223 -timeout 3
Usage:
-port 運行端口 -timeout 讀寫超時時間
運行成功:
? http server started on [::]:11223RestAPI
獲取UUID
$ curl http://127.0.0.1:11223/get { "code": 200, "message": "OK", "uuid": "5d1b3abf-5ab2-2792-0000-00046b2155a4" }
批量獲取UUID
$ curl http://127.0.0.1:11223/mget/100 { "code": 200, "message": "OK", "data": [ "5d1b3abf-5ab2-27cd-0000-00056d61a5e0", "5d1b3abf-5ab2-27cd-0000-000648f72a80", ... ] } 說明: 最多返回1000條記錄
獲取簡版UUID
$ curl http://127.0.0.1:11223/get/simple { "code": 200, "message": "OK", "uuid": "5d1b3abf5ab22792000000046b2155a4" }
批量獲取簡版UUID
$ curl http://127.0.0.1:11223/mget/100/simple { "code": 200, "message": "OK", "data": [ "5d1b3abf5ab227cd000000056d61a5e0", "5d1b3abf5ab227cd0000000648f72a80", ... ] }部署
LVS -> Nginx -> guuid-server
Configure Nginx
upstream guuid_server { server localhost:11211; server localhost:11212; server localhost:11213; } server { listen 80; server_name localhost; location / { proxy_pass http://guuid_server; } }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/11851.html
摘要:為什么需要發號器在分布式系統中,經常需要對大量的數據消息請求等進行唯一標識,例如對于分布式系統,服務間相互調用需要唯一標識,調用鏈路分析,日志追蹤的時候需要使用這個唯一標識。 原文鏈接:何曉東 博客 文章起源于 康神交流群的 panda大佬和boss li關于發號器的一些交流,特此感謝讓我們學到了新知識。 為什么需要發號器 在分布式系統中,經常需要對大量的數據、消息、http 請求等進...
摘要:本節將學習來統一管理和部署微服務,引入第三個微服務并進行存儲數據。到目前為止,要想啟動微服務的容器,均在其中的同時設置其環境變量,服務多了以后管理起來十分麻煩。 譯文鏈接:wuYin/blog原文鏈接:ewanvalentine.io,翻譯已獲作者 Ewan Valentine 授權。 本文完整代碼:GitHub 在上節中,我們使用 go-micro 重新實現了微服務并進行了 Doc...
摘要:比特幣的到帳時間是個區塊的高度,約分鐘。請注意,比特幣與的地址是一樣的。 showImg(https://segmentfault.com/img/remote/1460000018378805?w=1200&h=659); 方案一: 通過ExinCore API進行幣幣交易 Exincore 提供了基于Mixin Network的幣幣交易API. 你可以支付USDT給ExinCore...
摘要:今天我來和大家分享一下以及自動化生成工具的開發經驗。代碼生成工具接著講講代碼生成工具,對于來講,有官方的代碼生成器,還有其他的同類開源項目比如。現有的代碼生成器沒有可以開箱即用的,都需要去進行不少的修改。 前言 在開發工作中,經常會遇到新產品、服務上線后,需要將其 API 編寫不同語言的 SDK。但不同語言 SDK 中都有很大一部分內容是用來進行 API 的描述,而且這部分代碼量是最大...
摘要:今天我來和大家分享一下以及自動化生成工具的開發經驗。代碼生成工具接著講講代碼生成工具,對于來講,有官方的代碼生成器,還有其他的同類開源項目比如。現有的代碼生成器沒有可以開箱即用的,都需要去進行不少的修改。 前言 在開發工作中,經常會遇到新產品、服務上線后,需要將其 API 編寫不同語言的 SDK。但不同語言 SDK 中都有很大一部分內容是用來進行 API 的描述,而且這部分代碼量是最大...
閱讀 1262·2021-11-23 09:51
閱讀 2638·2021-09-03 10:47
閱讀 2234·2019-08-30 15:53
閱讀 2414·2019-08-30 15:44
閱讀 1375·2019-08-30 15:44
閱讀 1194·2019-08-30 10:57
閱讀 1924·2019-08-29 12:25
閱讀 1086·2019-08-26 11:57