[發(fā)明專(zhuān)利]一種狀態(tài)檢查方法、裝置及集群系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 201710901666.8 | 申請(qǐng)日: | 2017-09-28 |
| 公開(kāi)(公告)號(hào): | CN109586989B | 公開(kāi)(公告)日: | 2022-09-20 |
| 發(fā)明(設(shè)計(jì))人: | 魯振華 | 申請(qǐng)(專(zhuān)利權(quán))人: | 阿里巴巴集團(tuán)控股有限公司 |
| 主分類(lèi)號(hào): | H04L43/0817 | 分類(lèi)號(hào): | H04L43/0817;H04L43/10;H04L67/10 |
| 代理公司: | 北京安信方達(dá)知識(shí)產(chǎn)權(quán)代理有限公司 11262 | 代理人: | 栗若木;龍洪 |
| 地址: | 英屬開(kāi)曼群島大開(kāi)*** | 國(guó)省代碼: | 暫無(wú)信息 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 狀態(tài) 檢查 方法 裝置 集群 系統(tǒng) | ||
本申請(qǐng)?zhí)峁┮环N狀態(tài)檢查方法、裝置及集群系統(tǒng);其中,所述狀態(tài)檢查方法包括:主線程啟動(dòng)后,創(chuàng)建狀態(tài)檢查線程;當(dāng)執(zhí)行所述主線程的節(jié)點(diǎn)收到用于進(jìn)行狀態(tài)探測(cè)的消息后,所述狀態(tài)檢查線程對(duì)所述用于進(jìn)行狀態(tài)探測(cè)的消息進(jìn)行反饋。本申請(qǐng)至少一個(gè)實(shí)施例可以避免可用性探測(cè)結(jié)果受到業(yè)務(wù)狀況的影響。
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種狀態(tài)檢查方法、裝置及集群系統(tǒng)。
背景技術(shù)
計(jì)算機(jī)系統(tǒng)的可用性是通過(guò)系統(tǒng)的可靠性和可維護(hù)性來(lái)度量的。工程上通常用平均無(wú)故障時(shí)間來(lái)度量系統(tǒng)的可靠性,用平均維修時(shí)間來(lái)度量系統(tǒng)的可維護(hù)性。
服務(wù)的高可用性目前通常是采用搭建高可用性(High Availablity,HA)集群的方式實(shí)現(xiàn)的。HA可以指程序、或服務(wù)、或系統(tǒng)無(wú)中斷地執(zhí)行其功能的能力。
一個(gè)高可用集群(亦稱(chēng)HA集群)包含多個(gè)服務(wù)節(jié)點(diǎn),一部分服務(wù)節(jié)點(diǎn)處于業(yè)務(wù)的激活狀態(tài)(可以稱(chēng)之為主節(jié)點(diǎn)),一部分服務(wù)節(jié)點(diǎn)處于業(yè)務(wù)的備用狀態(tài)(可以稱(chēng)之為備節(jié)點(diǎn))。當(dāng)主節(jié)點(diǎn)出現(xiàn)故障時(shí),系統(tǒng)激活備節(jié)點(diǎn)自動(dòng)接替主節(jié)點(diǎn)提供服務(wù),并將原來(lái)的主節(jié)點(diǎn)降級(jí)成備節(jié)點(diǎn)或者重新搭建一個(gè)備節(jié)點(diǎn)。
其中,對(duì)主節(jié)點(diǎn)的可用性探測(cè)是關(guān)鍵步驟之一。對(duì)主節(jié)點(diǎn)的可用性探測(cè)也可稱(chēng)為健康檢查,即判斷主節(jié)點(diǎn)的健康狀態(tài),比如判斷主節(jié)點(diǎn)的程序、或服務(wù)、或系統(tǒng)當(dāng)前是否處于故障狀態(tài),或是否處于正常工作狀態(tài)。誤判或者未及時(shí)判斷出主節(jié)點(diǎn)的健康狀態(tài),都將大大降低服務(wù)的可用性。
Redis是一個(gè)開(kāi)源的高性能的Key-Value緩存數(shù)據(jù)庫(kù)系統(tǒng),包括多個(gè)服務(wù)節(jié)點(diǎn);Redis集群中的服務(wù)節(jié)點(diǎn)當(dāng)時(shí)收到心跳包時(shí)回復(fù)指定信息,比如收到“ping”命令時(shí)回復(fù)“pong”,收到info命令時(shí)會(huì)回復(fù)服務(wù)器配置參數(shù)和統(tǒng)計(jì)數(shù)據(jù),比如服務(wù)器版本,操作系統(tǒng),啟動(dòng)時(shí)間長(zhǎng)度等。
利用服務(wù)節(jié)點(diǎn)的上述特性,Redis集群中的運(yùn)維系統(tǒng)可以進(jìn)行Redis可用性探測(cè),一般包括以下技術(shù)方案:
心跳探測(cè):通過(guò)定期向服務(wù)節(jié)點(diǎn)發(fā)送心跳包的方式探測(cè)服務(wù)節(jié)點(diǎn)的健康狀態(tài)。如果多個(gè)心跳包都沒(méi)有收到回復(fù),則認(rèn)為服務(wù)節(jié)點(diǎn)已經(jīng)故障了。
Redis哨兵(Sentinel):每秒發(fā)送一個(gè)心跳包獲取當(dāng)前服務(wù)節(jié)點(diǎn)健康狀態(tài),每N秒(N為正整數(shù))發(fā)送一次info命令獲取Redis的節(jié)點(diǎn)配置狀態(tài)用于后續(xù)故障處理。
上述技術(shù)方案都是通過(guò)向Redis的服務(wù)節(jié)點(diǎn)發(fā)送ping命令(或其它心跳包)或者info命令,根據(jù)Redis服務(wù)節(jié)點(diǎn)返回的信息來(lái)判斷當(dāng)前Redis服務(wù)節(jié)點(diǎn)的健康狀態(tài)的。上述技術(shù)方案有如下缺點(diǎn):
可用性探測(cè)會(huì)受到Redis服務(wù)當(dāng)前業(yè)務(wù)狀況的影響,比如Redis服務(wù)繁忙時(shí)(比如執(zhí)行某個(gè)時(shí)長(zhǎng)較長(zhǎng)的任務(wù)時(shí)等),Redis的服務(wù)節(jié)點(diǎn)無(wú)法及時(shí)響應(yīng)探測(cè)的命令或者心跳消息,容易被誤判為故障,或無(wú)法及時(shí)判斷故障。
發(fā)明內(nèi)容
本申請(qǐng)?zhí)峁┮环N狀態(tài)檢查方法、裝置及集群系統(tǒng),可以避免可用性探測(cè)結(jié)果受到業(yè)務(wù)狀況的影響。
本申請(qǐng)采用如下技術(shù)方案。
一種狀態(tài)檢查方法,包括:
主線程啟動(dòng)后,創(chuàng)建狀態(tài)檢查線程;
當(dāng)執(zhí)行所述主線程的節(jié)點(diǎn)收到用于進(jìn)行狀態(tài)探測(cè)的消息后,所述狀態(tài)檢查線程對(duì)所述用于進(jìn)行狀態(tài)探測(cè)的消息進(jìn)行反饋。
其中,執(zhí)行所述主線程的節(jié)點(diǎn)可以為集群的主節(jié)點(diǎn)。
其中,所述創(chuàng)建狀態(tài)檢查線程后還可以包括:
所述狀態(tài)檢查線程偵聽(tīng)執(zhí)行所述主線程的節(jié)點(diǎn)的狀態(tài)檢查端口;其中,所述狀態(tài)檢查端口用于接收所述用于進(jìn)行狀態(tài)探測(cè)的消息。
其中,所述狀態(tài)檢查線程對(duì)所述用于進(jìn)行狀態(tài)探測(cè)的消息進(jìn)行反饋可以包括:
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于阿里巴巴集團(tuán)控股有限公司,未經(jīng)阿里巴巴集團(tuán)控股有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710901666.8/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 狀態(tài)檢測(cè)裝置及狀態(tài)檢測(cè)方法
- 狀態(tài)估計(jì)裝置以及狀態(tài)估計(jì)方法
- 經(jīng)由次級(jí)狀態(tài)推斷管理狀態(tài)
- 狀態(tài)估計(jì)裝置及狀態(tài)估計(jì)方法
- 狀態(tài)估計(jì)裝置、狀態(tài)估計(jì)方法
- 狀態(tài)預(yù)測(cè)裝置以及狀態(tài)預(yù)測(cè)方法
- 狀態(tài)推定裝置、狀態(tài)推定方法和狀態(tài)推定程序
- 狀態(tài)檢測(cè)系統(tǒng)及狀態(tài)檢測(cè)方法
- 狀態(tài)判定裝置、狀態(tài)判定方法以及狀態(tài)判定程序
- 狀態(tài)判斷裝置以及狀態(tài)判斷方法
- 一種數(shù)據(jù)庫(kù)讀寫(xiě)分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 光源裝置、照明裝置、液晶裝置和電子裝置
- 預(yù)測(cè)裝置、編輯裝置、逆預(yù)測(cè)裝置、解碼裝置及運(yùn)算裝置
- 圖像形成裝置、定影裝置、遮光裝置以及保持裝置
- 打印裝置、讀取裝置、復(fù)合裝置以及打印裝置、讀取裝置、復(fù)合裝置的控制方法
- 電子裝置、光盤(pán)裝置、顯示裝置和攝像裝置
- 光源裝置、照明裝置、曝光裝置和裝置制造方法
- 用戶(hù)裝置、裝置對(duì)裝置用戶(hù)裝置、后端裝置及其定位方法
- 遙控裝置、通信裝置、可變裝置及照明裝置
- 透鏡裝置、攝像裝置、處理裝置和相機(jī)裝置
- 抖動(dòng)校正裝置、驅(qū)動(dòng)裝置、成像裝置、和電子裝置





