[發明專利]基于微服務的軟件開發方法、裝置及系統在審
| 申請號: | 201610096981.3 | 申請日: | 2016-02-23 |
| 公開(公告)號: | CN107102847A | 公開(公告)日: | 2017-08-29 |
| 發明(設計)人: | 黃小鋒;張晶 | 申請(專利權)人: | 中國水電工程顧問集團有限公司;中國水電顧問集團國際工程有限公司 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44;G06F9/445 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 100120 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 微服 軟件 開發 方法 裝置 系統 | ||
技術領域
本發明涉及軟件開發技術領域,特別是涉及一種基于微服務的軟件開發方法、裝置及系統。
背景技術
隨著企業級應用系統的規模和復雜度不斷增加,系統變得更加笨重和龐大,這對系統的開發、部署和升級提出了新的挑戰,對企業應用架構的高效性和擴展性提出了更高的要求。
模塊化是解決復雜性問題的重要工具,可以把龐大的應用程序分割成多個模塊,每個模塊完成獨立的功能,模塊之間協同工作。這樣的模塊我們稱為組件。這些組件可以進行單獨開發、單獨編譯、單獨測試,把所有的組件組合在一起得到了完整的系統。采用組件化的應用結構,使系統的結構更加清晰,簡化大型應用系統在開發、部署和升級的難度,實現多種業務功能的分離。
傳統實現組件的方式是通過庫(library)或者面向開放服務網管(Open Service Gateway Initiative,OSGI)框架。
采用庫的方式是將通用的、與業務邏輯無關的工具類打成JAR包放到Web應用相應的目錄下,如J2EE平臺的WEB-INF/lib目錄。
OSGI是一種動態模塊化標準,它為模塊化應用的開發定義了一個基礎架構。基于OSGI架構的應用程序由一系列OSGI模塊組建。一般根據業務功能將 系統分解成多個OSGI模塊,每個模塊是一個獨立的工程項目,包含了實現完整業務功能的所有前端代碼和后端代碼。基于OSGI架構的應用系統結構圖參見附圖1。
各業務模塊通過中間層的OSGI動態模塊框架整合到一個Web應用中,Web應用作為一個整體運行在服務器上。基于OSGI模塊化的應用系統,實現了模塊的單獨開發,而且可以在不重啟應用的情況下,動態地安裝、卸載、啟動和停止應用程序中的模塊。
通過庫實現組件化的方式,只是對后端工具類代碼進行了封裝,無法根據業務功能進行完整切分,各個業務功能的代碼混雜在一起,調試和部署難度大,一個或多個JAR包的修改,需要重啟整個應用。
基于OSGI模塊化技術的業務應用系統,在開發期,可以實現模塊的物理分離,每個業務模塊獨立開發和調試,但是在部署運行時,仍需要將多個模塊耦合在一起發布到Web容器上。這種方式帶來如下問題:首先,全部模塊在一個Web應用中加載啟動,對資源要求高,需要高配置的服務器或集群來支撐系統的運行,部署成本高,而且不利于向云環境擴展。另外,不同的業務模塊所需資源不同,有些可能是CPU密集型的,另一些可能是IO密集型的,在這種架構模式下,各個模塊不能獨立部署運行,當出現性能問題時只能擴展整個業務系統,而不能針對模塊擴展其資源能力,系統擴展性差,而且相同的模塊在不同業務系統中需要重復部署,造成了資源浪費。
發明內容
有鑒于此,本發明提供一種基于微服務的軟件開發方法、裝置及系統,其采用一組微服務的方式來構建一個應用,通過將業務功能分解到各個離散的微 服務中實現對系統功能組件的解耦,能夠降低大型復雜業務系統的開發難度,克服傳統JAR包或OSGI方式部署成本高、系統擴展性差和資源浪費的問題,從而更加適于實用。
為了達到上述第一個目的,本發明提供的基于微服務的軟件開發方法的技術方案如下:
本發明提供的種基于微服務的軟件開發方法包括以下步驟:
將待開發軟件分解為若干微服務,并構建微服務框架;
將每個所述微服務分別作為一個獨立的開發、調試、部署和運行單元,進行獨立開發;
通過所述微服務框架,實現所述若干微服務之間的注冊、發現、調用和監控,完成所述待開發軟件的開發。
本發明提供的基于微服務的軟件開發方法還可采用以下技術措施進一步實現。
作為優選,當需要對所述待開發軟件進行擴展時,通過對所述若干微服務中的任一或者若干獨立地進行水平擴展實現。
作為優選,所述若干微服務包括Web微服務和若干業務微服務,
所述Web微服務用于對外提供HTTP訪問,和,通過服務接口處理所述若干微服務的處理業務邏輯;
所述若干業務微服務用于具體業務。
作為優選,所述若干微服務之間能夠通過RPC協議進行通信。
為了達到上述第二個目的,本發明提供的基于微服務的軟件開發裝置的技術方案如下:
本發明提供的基于微服務的軟件開發裝置包括微服務分解單元、微服務框 架構建單元,
所述微服務分解單元用于將待開發軟件分解為若干微服務;
所述微服務框架構建單元用于構建微服務框架,使得,通過所述微服務框架,能夠實現所述若干微服務之間的注冊、發現、調用和監控。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國水電工程顧問集團有限公司;中國水電顧問集團國際工程有限公司,未經中國水電工程顧問集團有限公司;中國水電顧問集團國際工程有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610096981.3/2.html,轉載請聲明來源鉆瓜專利網。





