etcd (Key/Value 存儲系統) v3.4.6 源碼下載

來源:腳本之家  責任編輯:小易  

使用Redis實現分布式鎖最簡單的方案是使用命令SETNX。SETNX(SET if Not eXist)的使用方式為:SETNX key value,只在鍵key不存在的情況下,將鍵key的值設置為value,若鍵key存在,則SETNX不做任何動作。SETNX在設置成功時返回,設置失敗時返回0。當要獲取鎖時,直接使用SETNX獲取鎖,當要釋放鎖時,使用DEL命令刪除掉對應的鍵key即可。上面這種方案有一個致命問題,就是某個線程在獲取鎖之后由于某些異常因素(比如宕機)而不能正常的執行解鎖操作,那么這個鎖就永遠釋放不掉了。為此,我們可以為這個鎖加上一個超時時間。第一時間我們會聯想到Redis的EXPIRE命令(EXPIRE key seconds)。但是這里我們不能使用EXPIRE來實現分布式鎖,因為它與SETNX一起是兩個操作,在這兩個操作之間可能會發生異常,從而還是達不到預期的結果對此,正確的姿勢應該是使用“SET key value[EX seconds][PX milliseconds][NX|XX]”這個命令。從 Redis 2.6.12 版本開始,SET 命令的行為可以通過一系列參數來修改:EX seconds:將鍵的過期時間設置為 seconds 秒。執行 SET key value EX seconds 的效果等同于執行 SETEX key seconds value。PX milliseconds:將鍵的過期時間設置為 milliseconds 毫秒。執行 SET key value PX milliseconds 的效果等同于執行 PSETEX key milliseconds value。NX:只在鍵不存在時,才對鍵進行設置操作。執行 SET key value NX 的效果等同于執行 SETNX key value。XX:只在鍵已經存在時,才對鍵進行設置操作。履行 SET key value PX milliseconds 的后果同等于履行 PSETEX key milliseconds value。NX:只在鍵不存在時,才對鍵停止設置操縱。履行 SET key value NX 的后果同等于履行 SETNX key value。XX:只在鍵曾經存在時,才對鍵停止設置操縱。舉例,咱們須要創立一個散布式鎖,而且設置過時時光為10s,那末能夠履行以下下令:這里我們一眼就可以看出問題來:GET和DEL是兩個分開的操作,在GET執行之后且在DEL執行之前的間隙是可能會發生異常的。如果我們只要保證解鎖的代碼是原子性的就能解決問題了。這里我們引入了一種新的方式,就是Lua腳本,解鎖的時候還是使用DEL命令來解鎖。修改之后的方案看上去很完美,但實際上還是會有問題。試想一下,某線程A獲取了鎖并且設置了過期時間為10s,然后在執行業務邏輯的時候耗費了15s,此時線程A獲取的鎖早已被Redis的過期機制自動釋放了。在線程A獲取鎖并經過10s之后,改鎖可能已經被其它線程獲取到了。當線程A執行完業務邏輯準備解鎖(DEL key)的時候,有可能刪除掉的是其它線程已經獲取到的鎖,總的來說Redis 分布式鎖不是那么萬無一失的www.anxorj.tw防采集請勿采集本網。

源碼大。9.76MB 源碼語言:簡體中文 源碼類型:國產軟件 源碼授權:免費軟件 更新時間:2020-03-30 16:24:20 源碼類別:其它源碼 源碼官網: 官方網址 網友評分:源碼評分 應用平臺:Windows平臺

etcd 是一個高可用的 Key/Value 存儲系統,主要用于分享配置和服務發現。etcd 的靈感來自于 ZooKeeper 和 Doozer,側重于:

ETCD_KEY_FILE=\" ETCD_CLIENT_CERT_AUTH=\"false ETCD_TRUSTED_CA_FILE=\" ETCD_AUTO_TLS=\"false ETCD_PEER_CERT_FILE=\" ETCD_PEER_KEY_FILE=\" ETCD_PEER_CLIENT_CERT_AUTH=\"false ETCD_PEER_TRUSTED_CA_

簡單:支持 curl 方式的用戶 API (HTTP+JSON)

安全:可選 SSL 客戶端證書認證

快速:單實例可達每秒 1000 次寫操作

可靠:使用 Raft 實現分布式

etcd  更新日志:

穩定的認證API

縮短延遲高達2倍

功能測試儀表盤

v3版本API和新的存儲引擎

開始使用etcd v3版本 API

下載地址如下:

四五互聯移動下載

群英網絡電信下載

巨牛網絡電信下載

創夢網絡電信下載

酷云中國網通下載

億恩科技電信下載

萬達網絡電信下載

徐州楓信網通下載

360集群電信下載

酷云中國電信下載

云彩網絡雙線下載

騰正科技電信下載

微子網絡電信下載

一種方案為Haproxy+etcd+confd,采用松散式的組織結構,但各個組件之間的通訊是非常嚴密的,且擴展性更強,定制也更加靈活。一、架構優勢約定由Haproxy+etcd+confd+Docker構建的基礎服務平臺簡稱“HECD”架構,整合了多種開源組件,看似松散的結構,事實上已經是一個有機的整體,它們互相聯系、互相作用,是Docker生態圈中最理想的組合之一,具有以下優勢:自動、實時發現及無感知服務刷新;支持任意多臺Docker主宿機;支持多種APP接入且打散至不分主宿機;采用Etcd存儲信息,集群支持可靠性高;采用Confd配置引擎,支持各類接入層,如Nginx;支持負載均衡、故障遷移;具備資源彈性,伸縮自如(通過生成、銷毀容器實現);二、架構說明在HECD架構中,首先管理員操作Docker Client,除了提交容器(Container)啟動與停止指令外,還通過REST-API方式向Etcd(K/V)存儲組件注冊容器信息,包括容器名稱、主宿機IP、映射端口等。Confd配置組件會定時查詢Etcd組件獲取最新的容器信息,根據定義好的配置模板生成Haproxy配置文件Haproxy.cfg,并且自動reload haproxy服務。用戶在訪問業務服務時,完全沒有感知后端APP的上線、下線、切換及遷移,達到了自動發現、高可用的目的。詳細架構圖見圖1-1。圖1-1 平臺架構圖為了方便大家理解各組件間的關系,通過圖1-2進行架構流程梳理,首先管理員通過Shell或API操作容器,下一步將容器信息注冊到Etcd組件,Confd組件會定時查詢Etcd,獲取已經注冊到Etcd中容器信息,最后通過Confd的模板引擎生成Haproxy配置,整個流程結束。圖1-2架構流程圖了解架構流程后,我們逐一對流程中各組件進行詳細介紹。1、Etcd介紹Etcd是一個高可用的 Key/Value 存儲系統,主要用于分享配置和服務發現。簡單:curl 方式的用戶 API(HTTP+JSON)安全:可選 SSL 客戶端證書認證快速:單實例可達每秒 1000 次寫操作可靠:使用 Raft 實現分布式2、Confd介紹Confd是一個輕量級的配置管理工具。通過查詢Etcd,結合配置模板引擎,保持本地配置最新,同時具備定期探測機制,配置變更自動reload。3、Haproxy介紹HAProxy是提供高可用性、負載均衡以及基于TCP和HTTP應用的代理,支持虛擬主機,它是免費、快速并且可靠的一種解決方案。(來源百科)三、架構部署平臺環境基于Centos6.5+Docker1.2構建,其中Etcd的版本為etcd version 0.5.0-alpha,Confd版本為confd 0.6.2,Haproxy版本為HA-Proxy version 1.4.24。下面對平臺的運行環境、安裝部署、組件說明等進行詳細說明,環境設備角色表如下:1、組件安裝1.1 Docker安裝SSH終端登錄192.168.1.22服務器,執行以下命令:yum-y install docker-ioservice docker startchkconfig docker on 1.2 Haproxy、confd安裝SSH終端登錄192.168.1.20服務器,執行以下命令:1、haproxyyum –y install haproxy2、confdwgethttps://github.com/kelseyhightower/confd/releases/download/v0.6.3/confd-0.6.3-linux-amd64mv confd/usr/local/bin/confdchmod+x/usr/local/bin/confdusr/local/bin/confd-versionconfd 0.6.2 1.3 Etcd安裝SSH終端登錄192.168.1.21服務器,執行以下命令:yum-y install golangmkdir-p/home/install&cd/home/installgit clonehttps://github.com/coreos/etcdcd etcdbuildcp bin/etcd/bin/etcdbin/etcd-versionetcd version 0.5.0-alpha 2、組件配置 2.1 Etcd配置由于etcd是一個輕量級的K/V存儲平臺,啟動時指定相關參數即可,無需配置。bin/etcd-peer-addr 192.168.1.21:7001-addr 192.168.1.21:4001-data-dir/data/etcd-peer-bind-addr 0.0.0.0:7001-bind-addr 0.0.0.0:4001&由于etcd具備多機支持,參數“-peer-addr”指定與其它節點通訊的地址;參數“-addr”指定服務監聽地址;參數“-data-dir”為指定數據存儲目錄。由于etcd是通過REST-API方式進行交互,常見操作如下:1)設置(set)key操作curl-L http://192.168.1.21:4001/v2/keys/mykey-XPUT -d value="this is awesome"{"action":"set內容來自www.anxorj.tw請勿采集。


  • 本文相關:
  • 用docker搭建一個高可用可擴展的服務支撐系統怎么做
  • 大家所推崇的 Redis 分布式鎖,真的可以萬無一失嗎?
  • springboot 的多個@Configuration配置類如何控制加載順序
  • 怎么寫一個腳本可以往etcd里存儲鍵值對
  • kubernetes 的master節點掛了對整個集群有什么影響
  • 如何進行docker的集群管理
  • 網站首頁源碼下載asp源碼php源碼.net源碼jsp源碼軟件開發腳本下載js框架網站地圖網頁游戲黑客源碼數據庫類其它源碼整站系統博客程序留言聊天企業網站新聞文章ajax相關搜索鏈接文件管理交友會員上傳下載投票調查框架模板整站系統新聞文章留言聊天博客系統賀卡圖片ajax相關文件管理問答系統社區論壇上傳下載整站系統控件組件新聞文章主機域名計數統計小偷采集電子商務學校班級 社區論壇上傳下載投票調查blog程序留言聊天整站系統社區論壇上傳下載投票調查數據管理jsp其它c#源碼易語言源碼delphi源碼vb源碼java源碼其它菜單導航tab標簽焦 點 圖在線客服css特效相冊代碼flash特效批處理其它jqueryextjsprototypemootoolsajax/javascript其它框架主頁源碼下載其它源碼鴻鵠智能云cms站群系統源碼 v1.2.2飛天素材網后臺管理框架模板 v1.0在線生成抽象話的網頁源碼最新運營版雙端影視app白菜,番茄香蕉lulube影視app原生雙端apicloud非黃瓜直播盒子html象棋游戲源碼etcdckplayer 超酷視頻播放器(支持flv,f4v,mp4,rtmp)vx bulid2020.ckplayer 超酷視頻播放器(支持flv,f4v,mp4,rtmp)vx bulid2020.下載my97日期控件 datepicker 4.1 正式版my97日期控件 datepicker 4.1 正式版下載精美淘寶客單頁面 zblog模板 v1.0 精美淘寶客單頁面 zblog模板 v1.0 下載 蝙蝠在線考試系統源碼 v2.2.6 蝙蝠在線考試系統源碼 v2.2.6下載qvod快播電影插件 for discuz 7.0qvod快播電影插件 for discuz 7.0下載jquery v3.4.1 免費版jquery v3.4.1 免費版下載jquery easyui v1.9.0jquery easyui v1.9.0下載網頁播放器_支持lrc歌詞同步及列表拖動的網頁mp3播放器源碼網頁播放器_支持lrc歌詞同步及列表拖動的網頁mp3播放器源碼下載cairo 1.16.0 開源2d向量圖形繪圖庫cairo 1.16.0 開源2d向量圖形繪圖庫下載找不到分享碼?鴻鵠智能云cms站群系統源碼 v1.2.2飛天素材網后臺管理框架模板 v1.0在線生成抽象話的網頁源碼最新運營版雙端影視app白菜,番茄香蕉lulube影視app原生雙端apicloud非黃瓜直播盒子html象棋游戲源碼o泡易支付免授權源碼 附當面支付教程警用車輛監控系統后臺管理模板 v1.0經典藍白色搭配的飛天后臺管理模板 v1.0最新6合1游戲口紅機源碼帶商城版加視頻教程上拉加載分頁內容代碼(移動端) v1.0分享碼的獲取方法迅雷winrar v5微信小程序androidasp源碼生活購物php源碼asp.net源碼jsp源碼軟件開發移動開發網頁游戲黑客源碼數據庫類網頁編輯器其它源碼ant design(阿里前端設計語言/react框架實現) v4.1.1 官方版鴻鵠智能云cms站群系統源碼 v1.2.2飛天素材網后臺管理框架模板 v1.0ruby 動態編程語言 v2.7.1etcd (key/value 存儲系統) v3.4.6在線生成抽象話的網頁源碼scrapy web爬蟲框架 v2.0.1ckplayer 超酷視頻播放器(支持flv,f4v,mp4,rtmp)vx bulid2020.最新運營版雙端影視app白菜,番茄香蕉lulube影視app原生雙端apiclhtml象棋游戲源碼chrome
    免責聲明 - 關于我們 - 聯系我們 - 廣告聯系 - 友情鏈接 - 幫助中心 - 頻道導航
    Copyright © 2017 www.anxorj.tw All Rights Reserved
    陕西快乐10分下载