[發(fā)明專利]一種基于Zookeeper的可橫向擴(kuò)展的分布式系統(tǒng)及開發(fā)方法在審
| 申請?zhí)枺?/td> | 202011450077.0 | 申請日: | 2020-12-09 |
| 公開(公告)號: | CN112769634A | 公開(公告)日: | 2021-05-07 |
| 發(fā)明(設(shè)計)人: | 趙棟杰;魯龍 | 申請(專利權(quán))人: | 航天信息股份有限公司 |
| 主分類號: | H04L12/26 | 分類號: | H04L12/26;H04L29/08 |
| 代理公司: | 北京工信聯(lián)合知識產(chǎn)權(quán)代理有限公司 11266 | 代理人: | 姜麗輝 |
| 地址: | 100195 *** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 zookeeper 橫向 擴(kuò)展 分布式 系統(tǒng) 開發(fā) 方法 | ||
1.一種基于Zookeeper的可橫向擴(kuò)展的分布式系統(tǒng),其特征在于,所述系統(tǒng)包括:
信息交互單元,所述信息交互單元一端與節(jié)點(diǎn)管理單元相連接;所述信息交互單元用于接收用戶發(fā)送的用戶指令,加載配置文件獲取配置指令,并將所述用戶指令及配置指令發(fā)送至節(jié)點(diǎn)管理單元;
節(jié)點(diǎn)管理單元,所述節(jié)點(diǎn)管理單元包括節(jié)點(diǎn)運(yùn)行模塊及注冊監(jiān)控模塊;所述節(jié)點(diǎn)管理單元采用包括Zookeeper框架;
所述節(jié)點(diǎn)運(yùn)行模塊,包括1個主節(jié)點(diǎn)、M個從節(jié)點(diǎn)及N個負(fù)載節(jié)點(diǎn);所述M、N均為正整數(shù);所述主節(jié)點(diǎn)用于根據(jù)所述配置指令發(fā)送主節(jié)點(diǎn)指令及主節(jié)點(diǎn)心跳包至所述注冊監(jiān)控模塊,并運(yùn)行插件;所述從節(jié)點(diǎn)用于根據(jù)所述主節(jié)點(diǎn)指令運(yùn)行插件,同時根據(jù)所述主節(jié)點(diǎn)心跳包及預(yù)設(shè)規(guī)則判斷是否選舉新的主節(jié)點(diǎn);所述負(fù)載節(jié)點(diǎn)用于根據(jù)所述主節(jié)點(diǎn)指令、用戶指令及負(fù)載算法,發(fā)送負(fù)載分發(fā)請求至所述注冊監(jiān)控模塊;
所述注冊監(jiān)控模塊,一端與所述節(jié)點(diǎn)運(yùn)行模塊相連接,其用于發(fā)送所述主節(jié)點(diǎn)指令至所述從節(jié)點(diǎn)及所述負(fù)載節(jié)點(diǎn),發(fā)送所述主節(jié)點(diǎn)心跳包至所述從節(jié)點(diǎn),發(fā)送所述負(fù)載分發(fā)請求至所述主節(jié)點(diǎn)及所述從節(jié)點(diǎn);
插件擴(kuò)展單元,所述插件擴(kuò)展單元一端與所述節(jié)點(diǎn)管理單元相連接;所述插件擴(kuò)展單元用于自主開發(fā)插件并提供所述插件給節(jié)點(diǎn)管理單元。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括:
系統(tǒng)初始化單元,所述系統(tǒng)初始化單元與所述信息交互單元、所述節(jié)點(diǎn)管理單元及所述插件擴(kuò)展單元相連接;所述系統(tǒng)初始化單元用于實(shí)現(xiàn)包括系統(tǒng)啟動時初始化功能、后臺周期調(diào)度任務(wù)功能、健康度檢查功能以及服務(wù)被管理功能。
3.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于:
所述信息交互單元包括以基于Dropwizard框架構(gòu)建的web服務(wù)訪問的方式接收用戶發(fā)送的用戶指令;所述信息交互單元還支持基于Guice框架實(shí)現(xiàn)的依賴注入以及面向切面功能。
4.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于:
所述從節(jié)點(diǎn)還用于發(fā)送從節(jié)點(diǎn)心跳包至所述注冊監(jiān)控模塊;所述監(jiān)控模塊還用于將所述從節(jié)點(diǎn)心跳包發(fā)送至所述主節(jié)點(diǎn);所述主節(jié)點(diǎn)還用于根據(jù)所述從節(jié)點(diǎn)心跳包判定相應(yīng)從節(jié)點(diǎn)是否正常運(yùn)行;若所述從節(jié)點(diǎn)非正常運(yùn)行,則從本存儲中移除所述非正常運(yùn)行從節(jié)點(diǎn)信息。
5.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述從節(jié)點(diǎn)根據(jù)所述主節(jié)點(diǎn)心跳包及預(yù)設(shè)規(guī)則判斷是否選舉新的主節(jié)點(diǎn)包括:
所述M個從節(jié)點(diǎn)檢測所述主節(jié)點(diǎn)心跳包,若P個從節(jié)點(diǎn)判斷所述主節(jié)點(diǎn)非正常運(yùn)行,那么從M個從節(jié)點(diǎn)中選舉主節(jié)點(diǎn)并擔(dān)任主節(jié)點(diǎn)工作;其中,1≤P≤M。
6.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述自主開發(fā)插件包括:
前后端分離插件開發(fā)方式即后端代碼插件化開發(fā),前端插件化部署映射;前后端不分離插件式開發(fā)即前后端代碼插件化開發(fā)。
7.一種基于Zookeeper的可橫向擴(kuò)展的分布式開發(fā)方法,其特征在于,所述方法包括:
獲取用戶指令及配置指令;
根據(jù)所述配置指令,主節(jié)點(diǎn)發(fā)送主節(jié)點(diǎn)心跳包至從節(jié)點(diǎn),發(fā)送主節(jié)點(diǎn)指令至所述從節(jié)點(diǎn)及負(fù)載節(jié)點(diǎn),并運(yùn)行插件;
所述從節(jié)點(diǎn)根據(jù)所述主節(jié)點(diǎn)指令運(yùn)行插件,同時根據(jù)所述主節(jié)點(diǎn)心跳包及預(yù)設(shè)規(guī)則判斷是否選舉新的主節(jié)點(diǎn);
所述負(fù)載節(jié)點(diǎn)根據(jù)所述主節(jié)點(diǎn)指令、用戶指令及負(fù)載算法,發(fā)送負(fù)載分發(fā)請求至所述主節(jié)點(diǎn)及所述從節(jié)點(diǎn);
所述主節(jié)點(diǎn)、所述從節(jié)點(diǎn)及所述負(fù)載節(jié)點(diǎn)基于Zookeeper進(jìn)行管理;
根據(jù)需求,在所述主節(jié)點(diǎn)及所述從節(jié)點(diǎn)下自主開發(fā)插件。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,在獲取用戶指令及配置指令前還包括:
系統(tǒng)初始化;
所述主節(jié)點(diǎn)、所述從節(jié)點(diǎn)及所述負(fù)載節(jié)點(diǎn)基于Zookeeper進(jìn)行注冊。
9.根據(jù)權(quán)利要求7所述的方法,其特征在于:包括通過基于Dropwizard框架構(gòu)建的web服務(wù)訪問的方式獲取所述用戶指令。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于航天信息股份有限公司,未經(jīng)航天信息股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011450077.0/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 基于集群的控制zookeeper服務(wù)的系統(tǒng)及方法
- 一種基于zookeeper的服務(wù)提供方法、第一服務(wù)器及系統(tǒng)
- 處理Zookeeper集群數(shù)據(jù)的客戶端及方法
- 一種基于RMI和ZooKeeper實(shí)現(xiàn)遠(yuǎn)程調(diào)用框架的方法
- Zookeeper集群及Zookeeper實(shí)例的部署方法、裝置以及管理平臺
- 基于salt的Zookeeper備份管理系統(tǒng)及方法
- 一種Zookeeper集群系統(tǒng)及其連接方法和裝置
- Zookeeper集群控制系統(tǒng)、設(shè)備及存儲介質(zhì)
- 一種分離全局zookeeper的pulsar消息異地多活方法及系統(tǒng)
- 基于ZooKeeper的分布式數(shù)據(jù)交換系統(tǒng)





