2278棋牌源碼控制輸贏,Redis Sentinel h5房卡鬥牛棋牌平台出租高可用服務架構搭建

來源:互聯網
上載者:User

標籤:html   返回   ip)   表示   離線   產品   注意   port   叢集   

    前幾天,看到一篇H5房卡鬥牛平台,H5房卡鬥牛平台租賃,想法說得很好,但是沒有建設過程,本文記錄了Redis哨兵高av可服務性服務體系構建過程。
    根據作者的第四個計劃,
    
    1。ReDIS是一個完全開源的、免費的、符合BSD的、高效能的密鑰值資料庫。
    ReDIS和其他關索引值緩衝產品具有以下三個特徵:
    Redis支援資料持久性,將記憶體中的資料儲存到磁碟,並在重新啟動時再次載入。Redis不僅支援簡單的索引值資料,還支援列表、集合、zset、散列和其他資料結構。Redis支援資料備份,即主從模式下的資料備份。Redis的優點:
    效能非常高——Redis讀取110000次/s,寫入81000次/s。富資料類型——Redis支援二進位大小寫字串、列表、散列、集和排序集資料類型操作。e.一個操作就是原子性。多個操作也支援由MULTI和EXEC指令封裝的事務,即原子性。富特性-Redis也支援諸如發布訂閱、通知、密鑰到期等特性。RunoOb.com /ReIDIS/ReDIS-ION.HTML
    2。ReISS哨兵,ReISIS哨兵的概念,是ReIDS官方推薦的一種高度可用的解決方案。當使用Redis作為主-從高可用性解決方案時,如果主伺服器出現故障,Redis本身(包括它的許多用戶端)不會在主機和備用之間自動切換,Redis-Sentinel也會這樣做。當主人下降時,叢集和開關。
    ReDIS StaveNele系統用於管理執行以下三個任務的多個ReDIS伺服器(執行個體):
    監視:Sentinel不斷檢查主伺服器和從伺服器是否正常工作。通知:當被監視的Rdis伺服器出現問題時,Sentinel可以通過API向管理員或其他應用程式發送通知。自動容錯移轉:當主伺服器出現問題時無法正常工作,Sentinel啟動自動容錯移轉操作,將故障主伺服器的一個次要伺服器升級到新的主伺服器,並用複製新的主服務替換故障主伺服器的其他次要伺服器。當串連到失敗的主伺服器時,叢集還將新主伺服器的地址返回給用戶端,允許叢集使用新的主伺服器而不是失敗的伺服器。即使用流言協議來接收關於主伺服器是否離線的資訊,並使用協議協議來決定是否執行自動容錯移轉。移動並選擇哪個伺服器是新的主伺服器。
    一個哨兵進程可以串連到其他幾個哨兵進程,每個哨兵進程可以檢查彼此的可用性並交換資訊。
    上面的內容是從http:/rDeDoc .com /Stutial/StaveNel.HTML中提取的。
    三。構建ReDIS伺服器(Master),我們將遵循上面的架構圖,大約三個伺服器(防火牆關閉):
    10.9.10.154主redis-server redis-.nel10.9.10.152從redis-server redis-.nel10.9.10.215redis-.nel首先從redis.ioreleases下載redis的最新版本。
    http
ter-runter$CC Makefile.dep INSTALL redis-sentinel CC redis-cli.o LINK redis-cli CC redis-benchmark.o LINK redis-benchmark INSTALL redis-check-rdb提示:運行make test是個好主意;)INSTALL安裝INSTALL安裝INSTALL安裝INSTALL安裝INSTALL安裝安裝INSTALL安裝成功編譯,將被redis-4.0.8/src頭記錄,產生redis-伺服器和ReISS哨兵可執行檔。
    然後,在主節點(10.9.10.154)上,我們建立具有以下樣本配置的redis-4.0.8/redis-master.conf設定檔:
    #使用守護進程yes#unprotected模式,外部存取受保護模式no#port 6379#bound ip,本地IP bind 10.9.10.154#學習和開發,使用最大記錄層級,可以看到日誌資訊最多的記錄層級調試#指定記錄檔路徑,沒有file要做到這一點,建立記錄檔hoMe/ubuntu/Redis/ReDIS-4.0.8/ReIS-Server。Log-x用戶端訪問,要求PASS 123456要求輸入密碼串連,然後啟動主機:
    Src/redis-server redis-master.config $cat redis-server.config $cat redis-server.log 8517:8517:C 28 Feb 06:06:10:10:38.345####oOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO 8517:C 28 Feb 06:10:10:10:10:38.345ation loaded 8518:M 28FEB 06:10:10*將開啟檔案的最大數量增加到10032(最初設定為1024)。8518:2月28日06:10:38.352*運行模式=獨立運行,連接埠=6379.8518:M 6379.8518:M282月28日2月28日2月2282月206:10:10:38.352#警告:511的TCP積壓設定511不能強制procproc2月06:10:38.352警告您在核心中啟用了透明巨型頁面(THP)支援。這將導致Redis的延遲和記憶體使用量問題。要修複此問題,請運行echo.gtsyskernelmm.t_hugepageenabled作為根,並將其添加到etcrc local,以便保留setti。在THP被禁用之後,Redis必須重新啟動。8518:M 28 Feb 06:10:38.352*準備接受串連8518:M 28 Feb 06:10:38.352-0(從機),765776位元組用於查看Redis的狀態:
    $redis-cli-h 10.9.10.154-p 6379-a 123456 10.9.10.154:6379gt;INFO複製#複製角色:主串連_從站:0master_replid:0master_replid:7f90fb4ba0c450b184a348f31d9c40b010d master_replid2:0000000000000000000000000000000000000000000000000000_._offset:0_replreplreplreplreplreplrepley:-log-1_activ_replid 1E:0repl_backlog_log_size:01048576 PrimeBeaLogyFixSTyByTeOffOffice:0 RealPosixReLogyStudiLeN:0:10.97.154:6399GT;乒乓添加和擷取索引值測試:
    10. 7.154:637 9GT;集合測試Hello OK 107.10154:637 9GT;獲得測試HeleReles是常用命令:
    開始服務:服務redis開始停止服務:服務redis停止重新啟動服務:如果服務redis x未配置為服務服務,則可以通過以下命令關閉Redis:
    設定Redis Server(從機)從節點類似於構建主節點,只是redis-slave.conf設定檔有所不同:
    使用守護是無保護模式,保護模式沒有從外部網路訪問的6379連接埠綁定IP。本地IP綁定10.9.10.152#指定用於學習和開發的主IP地址和連接埠從站10.9.10.154 6379#。使用最大記錄層級,可以看到最多的日誌。記錄層級Debug G指定記錄檔的路徑。如果沒有檔案,則建立Logfile /home /ubuntu/Redis/ReDIS-4.0.8/ReIS-Server。Log-*設定密碼主AUTH 123456以訪問主機並啟動從機:
    Srcredis-伺服器redis-從伺服器redis-從從.conf$$cat redis-伺服器$cat$cat redis-伺服器.log 7307.log 7307#7307.#7307.#7307.$cat#737373737307$cat$cat.$cat$2月206$2月20606 06 06 06 06 06 06:11:11:11:11:11:11:11:11:11:11:11:00.11:00.987.987##Redis版本=4 4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8,bits=64,commit=00000,.=0:.=0,start=7307,just 7307:just 7307:OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOfiguration載入了7308S 28,2月28日,06:11:00.989*將開啟檔案的最大數量增加到10032(最初設定為1024)。7308:S2282月28日06:11:00.989*運行模式=獨立運行,連接埠=6379.7308:S26379.7308:S2282月2282月2282月206:06:11:00.990#警告:511的TCP積壓設定不能強制proc08:S 28 2月28日06:11:00.990警告您在核心中啟用了透明巨頁(THP)支援。這將導致Redis的延遲和記憶體使用量問題。要修複此問題,請運行命令echo,永不gt;S/kernelmm.t_hugepageenabled a s根,並將其添加到etc/rc.local,以便保留s。重新啟動後重啟。在THP被禁用後,必須重新啟動Redis。7308:S 28 2月28日06:11.990*準備接受7308:S 28 2月28日串連(從站)06:11:00.990-0,76572月06:00.990-0串連36位元組,使用7308:S 28:S 28 2月28日06:11:00.990*串連到MASTER 10.9.15 4:6379 7308:S 28:S 28 2月28日06:11:00.990*-gt;從同步開始7308:S 28 Feb 06:11.990*SYNC的非阻塞串連觸發事件.7308:S 28 Feb 06:S 28 Feb 06:S 28:S 28 Feb 06:11:00.991*主機響應PING,複製可以繼續7308:S 28 Feb 06:11.993*部分重新同步不可能(沒有緩衝主機)7308:S 28 Feb 06:S 28:11.993*995×從主:Redis,B929,9FF66F9610687CE95DDFBDECB986:0檢查完整的狀態:
    Redis-cli-h 10.9.10.152-p 6379-a 123456 10.9.10.154:6379gt;INFO複製#複製角色:從屬master_host:10.9.10.154master_port:6379master_link_status:up_last_io_seconds_s:10_sync_.:0slave_repl_offset:280ve_.:100:1_connected_read_.:1_slave_read_host:10.9.10。154master_port:6379master_link_status:up_last_io_seconds_master_.:0slave_repl_offset:Es:0master_replid:55b29a9f06ffb89f961087ce95ddfbdeccb986master_replid 2:0000000000000000000000000master_repl_offset:280._repl_offset: -1repl_backlog_active:1repl_backlog_size:1048576repl_backlog_first_byte_offset:1repl_backlog_offset:1repl_histlen:280.10.9.152:PONG,但是;然後,我們將檢查主伺服器的狀態(更新._slaves的資訊):
    $redis-cli-h 10.9.10.154-p 6379-a 123456 10.9.10.154:6379gt;INFO複製#複製角色:主._slaves:1000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000百萬億億億億億億億億億億億億億億億億億億億億億億億億億億億億億億億億億億億億億億萬萬00 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000Master_repl_offset:28._repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1 repl_backlog_histlen:28此外,可以通過向主伺服器添加密鑰和值來測試,然後獲得v_backlog_active_size:1048576 repl_backlog_first_byte_offset:28。出售相應的密鑰。
    5。構建Redis Sentinel,然後在三個伺服器上配置Redis Sentinel,建立redis-4.0.8/.nel-my.conf設定檔、樣本配置(請記住更改不同的綁定ip):
    連接埠26379綁定10.9.10.154守護進程是是記錄檔home%ubuntu/redis/redis-4.0.8redis-.nel.log哨兵監視器管理器1 10.9.10.154 6379 2哨兵身分識別驗證管理器1 123456yncs ManagER1 1 1被配置為一組四行,因為我們只有一個主節點,所以只有一個主節點可以被配置為配置多個主節點,而不配置從節點資訊,因為可以自動檢測從節點(主節點將具有關於從節點的訊息)
    第一行配置指示Sentinel監視名為manager 1的主伺服器,該伺服器的IP地址為10.9.10.154,連接埠號碼為6379,並且要求至少兩個Sentinel同意失敗(只要Sentinel的數量沒有達到標準,自動容錯移轉就不會成功)。進行)。
    其他選項的基本格式如下:
    哨兵lt;選項的名稱是gt;lt;主伺服器的名稱是gt;lt;選項的值是gt;選項描述:
    Auth-pass:選項指定主串連的密碼。Down-.-.seconds:選項指定Sentinel要求伺服器中斷連線的毫秒。Failover-timeout:如果容錯移轉操作在該時間(ms)內沒有完成,則考慮容錯移轉a..Parallel-syncs:該選項指定在執行容錯移轉時最多可以有多少從伺服器與新主伺服器同步,並且數量越小,完成容錯移轉所需的時間越長。接下來,啟動Redis Sentinel(預設連接埠26379):
    $src/redis-server sentinel-my.conf--sentinelor $src/redis-sentinel-my.conf -- sentinelor or $src/redis-sentinel-my.conf $cat redis-sentinel.log 5716:X 28 Feb 03:04:04:17.407## # # # # # # # # # OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo 57OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOjust啟動5716:X 28 Feb 03:04:04:04:04:17.407#Configuration載入5716:X 28 Feb 03:04:04:04:04:17.408*將開啟檔案的最大數量增加到10032(最初設定為1024)。```````````````````````-u.-``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````-...-` __...-.``-._` _.- Port: 26379 `-._ `._ / _.- PID: 5716 `-._ `-._ `-./ _.- _.- `-._`-._ `-.__.- _.-_.- `-._`-._ _.-_.- http://redis.io `-._ `-._`-.__.-_.- _.- `-._`-._ `-.__.- _.-_.- `-._`-._ _.-_.- `-._ `-._`-.__.-_.- _.- `-._ `-.__.- _.- `-._ _.- `-.__.- 5716:X 28 Feb 03:04:17.410 # WA511的TCP積壓設定無法強制執行,因為procprocsys/procsys/net
et
et核心/somaxaxaxaxaxaxaxconn/proc
et
et
et
et
et
et
et當伺服器啟動ReISS哨兵時,有這樣的日誌(RADIS哨兵互相通訊):
    5716:x28 Feb 03:18:46.404#傾斜模式退出5716:X 28 Feb 03:19:43.959*+哨兵55ebce153ac69c908800 bc14 beff24725fc5a721 10.9.10.152 [email protected] 1 10.9.10.154 6379串連測試(測試三個伺服器):
    Redis-Redis-cli-10.9.10.154-p 26379 10.9.10.10.154-p 26379 10.9.10.10.154-p 26379 10.10.10.10.154-p 26379 10.10.10.10.154-p 26379 10.9 10.10.10.154-p 26379 10.10.10.10.154-2679gt;乒乒乓$redirediredis$redis$redis-redis-cli-redi-cli-重定-cli-cli-cli-10.10.10.9-10.9.9.10.10.10.10.10.152-10.152-p 26379-10.10.10.10 s:
    PING-此命令僅返回PONE.SENTINEL主機-顯示監視主機的列表及其狀態。SENTINEL主機{主機名稱}顯示指定主機的狀態和資訊。SENTINEL從機{主機名稱}顯示從機列表及其發送的主機狀態。inels{master name}-顯示主控的哨兵執行個體及其狀態的列表。SENTINEL get-master-addr-by-name{master name}-返回IP和主控的連接埠。如果容錯移轉被處理或成功終止,則返回提升從屬的IP和連接埠。SENTINEL複位{.}-this命令將重設所有匹配的主機名稱。參數是blog樣式。重設過程清空主機的所有狀態,並移除已經找到並與主機關聯的所有從屬和哨兵。SENTINEL容錯移轉{主機名稱}-如果無法訪問主機,則執行fai未經其他Sentinels同意的情人。SENTINEL ckquorum{主名稱}-檢查當前Sentinel配置是否能夠達到容錯移轉所需的仲裁,並且需要大多數容錯移轉授權。此命令應該用於監視系統以檢查是否展開。yment是正確的。SENTINEL重新整理配置-強制Sentinel重寫磁碟上的配置,包括當前的Sentinel狀態。一般來說,每次重寫配置時,Sentinel都會改變其狀態。但是,有時,設定檔可能由於操作錯誤而丟失,硬碟失敗ures、包升級指令碼或組態管理員。在這種情況下,接收到強制性Sentinel重寫設定檔。即使上面的設定檔完全丟失,也可以使用此命令。Read哨兵故障測試我們的計劃是停止大師的ReISIS服務,看看Read哨兵是如何工作的。
    首先,讓我們看看當前的主節點資訊(記住IP):
    $redis-cli-h 10.9.10.154-p 6379 10.9.10.154:26379gt;SENTINEL get-master-addr by-name manager 1 1)10.9.10.154 2)6379並執行以下命令(強制Redis Server睡眠120秒):
    ReDIS-CY-H 107.10154-P 637 9A A 123456調試休眠120,然後我們查看主節點資訊:
    $redis-cli-h 10.9.10.154-p 6379 10.9.10.154:26379gt;SENTINEL get-master-addr-by-name manager 1)10.9.10.152)6379發現IP已成為前一個鹽節點,即,10.9.10.152已成為主節點,然後查看當前主資訊:
    $redis-cli-cli-10.9.10.10.10.10.152-p 6379-p 6379-a 12345616110.9.9.10.10.10.10.10.10.10.152-p634579-a 123456 10.10.10.10.10.10.10.10.152-p 6379-p 6379-p63797979797979a 1234561456 10.10.10.9.10.10.10.10.10.10.10.10.10.10.10.10.10.10.152-p 6379-p 6379-p 6379-p 6379-p 6379-p 6379-p63797979797979797979797979797979a 12345a 123451 12345b033 de604be41707070707070707070707070707070707070707070707070707b2727b27b52bcc2981_master_master_replc2981_repl replreplreplreplreplf1d4b24c9499c4a master_repl_offset:12707070707070707070707070707070707070707070707070707b277b27272727b2727b2727b27b27b27b2727b2727b27b27b22b主repl_offset:1270535._repl_offset:1208143repl_backlog_active:1repl_backlog_size:1repl_backlog_size:1048576replEN:1048 57 6SLave0:IP=10. 9·10154,連接埠=6379表示先前的主機已經變為SOLVE。
    在整個過程中,我們可以查看Read哨兵的日誌:
    20153:X 20153:2010年2月28日2月28日0909:13:13:51.023##############eeee228282828282828120151:3:28:2829:13:13:13:13:13:13:13:13:13:13:13:13:13:13:13:13:13:13:13:13:13:13:13:13:52.102#####新經理1#+新經理經理1#+新經理1#+新經理1 1 1 1 1 20151 1 1 1 1 1 1 1 1 1 1 1 20153 20153 20153 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 20153 1 20153 1 1 1 1 20153法定人數2 1 1 20153 1 1 1 20153 1 1 1 1 20153法定人數21 1 1 1 1 1 1 [email protected] [email protected] 10.154 6379:X 1 10.154 6379:X2010年2月28日09:[email protected] [email protected] 10.10.9.154 6379:10.154 6379:X 10.154 637676767676767676764:X2月28日0909:13.365.6516161616167*開關-19-19.19.154161616161616161616161616161616161616161616161616161616161616161515151515151515151515151515151515151579。
    每個Sentinel發現主節點已關閉,並具有+sdown事件,稍後將其升級到+odown,這意味著大多數Sentinel已經同意主節點不可訪問。Sentinel開始投票讓Sentinel啟動,並嘗試容錯移轉容錯移轉。此外,請注意,Redis Sentinel不是提供外部服務的地址,它只是管理Redis主備用交換的監視工具,因此外部客戶端提供的地址仍然是Redis Server的地址(當然,包括Salve,也可以提供統一的地址)。訪問類似Server Load Balancer(SLB)或虛擬IP(虛擬IP,VIP)。

2278棋牌源碼控制輸贏,Redis Sentinel h5房卡鬥牛棋牌平台出租高可用服務架構搭建

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.