本發明涉及計算機技術領域,尤其涉及一種基于Zookeeper的角色配置管理方法及系統。
背景技術:
ZooKeeper是一個分布式的,開放源碼的分布式應用程序協調服務系統,它是一個為分布式應用提供一致性服務的軟件,提供的功能包括:配置維護、名字服務、分布式同步、組服務等。一個ZooKeeper服務器可以連接多臺應用服務器。一個應用程序包含多個應用程序實例,并且每個應用程序示例在其中一臺應用服務器中運行。
disconf是一套完整的基于zookeeper的分布式配置統一解決方案。如圖1所示,disconf實現了同構系統的配置發布統一化,提供了配置服務server,該服務可以對配置進行持久化管理并對外提供restful接口,在此基礎上,基于zookeeper實現對配置更改的實時推送,并且,提供了穩定有效的容災方案,以及用戶體驗良好的編程模型和WEB用戶管理界面。其次,實現了異構系統的配置包管理,提出基于zookeeper的全局分布式一致性鎖來實現主備統一部署、系統異常時的主備自主切換。
NOS(Netease Object Storage)致力于提供最優質的對象存儲以及基于存儲的富媒體和上下行加速服務,一站式解決移動互聯網時代非結構數據管理難題,助力產品方實現最佳用戶體驗。NOS的應用場景有:靜態網站或者網站的靜態數據;圖片、音頻、視頻類APP;視頻播放類業務;網盤等UGC類業務;文件備份和中轉類業務;日志歸檔類業務;SNS類業務的非結構化數據解決方案;基于存儲的上下行加速類業務等。
本發明人發現,分布式應用開發通常涉及到多團隊合作,多產品線、多應用、多版本協作開發;從開發到上線,涉及到開發、測試、預發、線上等環境隔離和維護;參與人員,涉及到開發、測試、運維等角色。這些因素導致應用配置管理難度較高,應用配置復雜、高重復性、易出錯、要求異常回滾。
而且,應用從開發到上線會經過開發、測試、運維等過程,其中涉及的人員也包括了開發人員、測試人員、運維人員;對于配置的管理,不同人員也應該持有不同的配置管理權限,例如開發人員和測試人員需要對應用的配置新增、修改及查看的權限,運維人員則只需要對配置進行查看和上線前的審核;現在disconf并沒有提供相關角色管理的功能。
技術實現要素:
本發明的目的在于提供一種基于Zookeeper的角色配置管理方法及系統,改進原來disconf沒有提供相關角色管理權限功能的缺陷。
本發明的技術方案為,一種基于Zookeeper的角色配置管理方法,包括:設置研發、運維和管理員三種角色;給每種角色分配不同的權限;其中,運維角色的權限包括環境配置和環境變量設置;管理員角色的權限包括應用組管理和模板配置;研發角色的權限包括應用配置和申請上線。
進一步地,所述環境配置包括新增、編輯和刪除配置;所述環境變量設置包括新增、編輯和刪除不同環境、不同產品線、不同應用的變量;所述應用上線包括審批所述研發角色申請上線的配置文件。
進一步地,所述應用組管理包括新增、編輯和刪除應用組;所述新增應用組用于分組不同的產品線;所述模板配置包括新增、和刪除公共模板。
進一步地,所述應用配置包括新增應用,所述新增應用包括引用公共模板或新增獨立配置文件;所述申請上線當處于非審批環境下則直接上線,當處于審批環境下需申請上線;所述研發角色通過應用配置,增加應用、增加并修改應用配置模板;通過環境變量設置功能,設置非審核環境的變量;通過申請上線功能,修改相應的配置并生成配置文件,上線到非審核環境;若有多個環境,則只需修改一個環境的配置并上線,其他環境則直接上線到非審核環境。
進一步地,所述運維角色的權限包括應用上線審核,若研發角色申請上線到審核環境,則需要運維人員進行審批,審批通過后,則自動將應用配置信息推送到NOS,disconf每隔3分鐘到NOS上查看是否有需要更新的配置信息;運維角色如果選擇審批拒絕,拒絕后研發角色有權修改配置并再次申請上線。
一種基于Zookeeper的角色配置管理系統,包括:設置研發、運維和管理員三種角色;給每種角色分配不同的權限;其中,運維角色的權限包括環境配置和環境變量設置;管理員角色的權限包括應用組管理和模板配置;研發角色的權限包括應用配置和申請上線。
進一步地,所述環境配置包括新增、編輯和刪除配置;所述環境變量設置包括新增、編輯和刪除不同環境、不同產品線、不同應用的變量;所述應用上線包括審批所述研發角色申請上線的配置文件。
進一步地,所述應用組管理包括新增、編輯和刪除應用組;所述新增應用組用于分組不同的產品線;所述模板配置包括新增、和刪除公共模板。
進一步地,所述應用配置包括新增應用,所述新增應用包括引用公共模板或新增獨立配置文件;所述申請上線當處于非審批環境下則直接上線,當處于審批環境下需申請上線;所述研發角色通過應用配置,增加應用、增加并修改應用配置模板;通過環境變量設置功能,設置非審核環境的變量;通過申請上線功能,修改相應的配置并生成配置文件,上線到非審核環境;若有多個環境,則只需修改一個環境的配置并上線,其他環境則直接上線到非審核環境。
進一步地,所述運維角色的權限包括應用上線審核,若研發角色申請上線到審核環境,則需要運維人員進行審批,審批通過后,則自動將應用配置信息推送到NOS,disconf每隔3分鐘到NOS上查看是否有需要更新的配置信息;運維角色如果選擇審批拒絕,拒絕后研發角色則有權修改配置并再次申請上線。
本發明的技術方案的有益效果在于:系統按照研發、運維、管理員進行角色劃分,研發關注應用配置和上線的功能,運維關注環境參數配置的是否正確,管理員關注產品線,公共模板等公共內容。實踐中用于多產品線、多應用、多版本、多角色協作開發,減少多環境重復修改相同的配置文件、降低手工操作帶來的低級錯誤;并將不同的環境進行隔離和維護。
附圖說明
圖1為本發明背景技術disconf的結構示意圖。
圖2為本發明的結構示意圖。
具體實施方式
以下結合附圖和實施例對本發明的技術方案作詳細說明。
如圖2所示,一種基于Zookeeper的角色配置管理方法,包括:設置研發、運維和管理員三種角色;給每種角色分配不同的權限;其中,運維角色的權限包括環境配置和環境變量設置;管理員角色的權限包括應用組管理和模板配置;研發角色的權限包括應用配置和申請上線。
進一步地,所述環境配置包括新增、編輯和刪除配置;所述環境變量設置包括新增、編輯和刪除不同環境、不同產品線、不同應用的變量;所述應用上線包括審批所述研發角色申請上線的配置文件。
進一步地,所述應用組管理包括新增、編輯和刪除應用組;所述新增應用組用于分組不同的產品線;所述模板配置包括新增、和刪除公共模板。
進一步地,所述應用配置包括新增應用,所述新增應用包括引用公共模板或新增獨立配置文件;所述申請上線當處于非審批環境下則直接上線,當處于審批環境下需申請上線;所述研發角色通過應用配置,增加應用、增加并修改應用配置模板;通過環境變量設置功能,設置非審核環境的變量;通過申請上線功能,修改相應的配置并生成配置文件,上線到非審核環境;若有多個環境,則只需修改一個環境的配置并上線,其他環境則直接上線到非審核環境。
進一步地,所述運維角色的權限包括應用上線審核,若研發角色申請上線到審核環境,則需要運維人員進行審批,審批通過后,則自動將應用配置信息推送到NOS,disconf每隔3分鐘到NOS上查看是否有需要更新的配置信息;運維角色如果選擇審批拒絕,拒絕后研發角色有權修改配置并再次申請上線。
以上的描述僅僅涉及本發明的一些具體實施方式,任何本領域的技術人員基于本發明的精神所做的替換或改進均應為本發明的保護范圍所涵蓋,本發明的保護范圍應以權利要求書為準。