亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

基于微服務架構的分布式云平臺系統(tǒng)的制作方法

文檔序號:12037966閱讀:931來源:國知局

本發(fā)明涉及云平臺系統(tǒng),具體涉及一種基于微服務架構的分布式云平臺系統(tǒng)。



背景技術:

微服務架構(msa)是一種架構概念,旨在通過將功能分解到各個離散的服務中以實現(xiàn)對解決方案的解耦,使用微服務作為主要架構類型的系統(tǒng)是一個擁有大量協(xié)調微服務的分布式系統(tǒng)。再結合soa面向服務的體系結構,使系統(tǒng)兼?zhèn)涓咝阅堋⒏呖捎谩⒌统杀?、高可治理等諸多優(yōu)點。

互聯(lián)網(wǎng)行業(yè)的快速發(fā)展,敏捷、精益方法論的深入人心以及傳統(tǒng)it系統(tǒng)面臨互聯(lián)網(wǎng)的挑戰(zhàn)。過去的十年中,互聯(lián)網(wǎng)對我們的生活產生了翻天覆地的變化。網(wǎng)上購物、網(wǎng)上訂餐、網(wǎng)上支付等活動都可以在網(wǎng)上進行,越來越多的公司開始依賴互聯(lián)網(wǎng)技術打造其核心的競爭優(yōu)勢。在這種情況下,如何快速響應用戶的需求,如何用有效的技術服務于用戶、并為用戶持續(xù)提供價值,逐漸成為決定企業(yè)是否具有市場競爭力的重要因素之一。

縱觀it行業(yè)過去這些年中敏捷、精益、持續(xù)交付等價值觀、方法論的提出以及實踐,歸根到底也是在圍繞著如何幫助企業(yè)應變市場變化、提高對市場的響應力以及可持續(xù)發(fā)展能力。敏捷方法論幫助組織消除浪費,通過反饋不斷找到正確的方向;持續(xù)交付幫助組織構建更快、更可靠、可頻繁發(fā)布的部署和交付機制;云、虛擬化和基礎設施自動化(infrastructureascode)的使用則極大的簡化環(huán)境的創(chuàng)建、配置、安裝以及部署;消息中間件的引入使得大并發(fā)變得簡單。這時候,逐漸完善并改進各個細節(jié)的需求就會更加強烈。所謂細節(jié),就是類似如何找到靈活性高、擴展性好的架構方式、如何用更合適的技術解決業(yè)務難題等。譬如說,在持續(xù)交付流水線已經趨于可靠、穩(wěn)定的前提下,如何在技術上、架構上進行優(yōu)化,進一步縮短產品構建的周期、進一步縮短自動化測試的周期等。

互聯(lián)網(wǎng)時代的產品通常有幾類特點:創(chuàng)新成本低、需求變化快,用戶群體龐大,它和幾年前我們熟悉的傳統(tǒng)企業(yè)的it系統(tǒng)——我們一般稱為單塊架構應用(邏輯分層、功能集中、代碼和數(shù)據(jù)中心化,并且運行在同一進程的應用程序)有著本質的不同。這類單塊架構系統(tǒng)隨著需求變化快,用戶訪問量增加,面臨著越來越多的挑戰(zhàn)。譬如說,隨著功能的增多,代碼量逐漸增多,產品的維護成本、人員的培養(yǎng)成本、缺陷修復成本、技術架構演進的成本、系統(tǒng)擴展成本等都在增加。因此,在面臨這種挑戰(zhàn)下,如何找到一種更有效的、更靈活、更適應當前時代需求的應用架構方式就成了大家關注的焦點。



技術實現(xiàn)要素:

本發(fā)明所要解決的技術問題是:提出一種基于微服務架構的分布式云平臺系統(tǒng),實現(xiàn)高并發(fā)性能、高擴展、松耦合、低成本和可治理的分布式云平臺系統(tǒng)。

基于微服務架構的分布式云平臺系統(tǒng),包括交互層、接口層、服務層、數(shù)據(jù)層;

所述交互層,用于為用戶提供人機交互功能,其包括web應用和移動應用,其中web應用包括租戶云單、云單管理平臺、單據(jù)工具、記賬工具;移動應用包括android端應用、ios端應用;

所述接口層,用于提供接入鑒權、業(yè)務鑒權和業(yè)務封裝功能,為交互層提供安全、高效的功能接入;其包括租戶云單接口引擎、云單管理接口引擎、單據(jù)工具接口引擎、記賬工具接口引擎;

所述服務層,利用微服務架構方式進行服務細化,包括單據(jù)中心、記賬中心、ocr中心、報表中心、用戶中心、消息中心和對接中心;各個中心相互獨立各不影響,并根據(jù)功能需求任意異構;所有中心均采用spring框架,集成持久化框架jpa及數(shù)據(jù)庫連接池druid以進行高并發(fā)訪問數(shù)據(jù);

所述數(shù)據(jù)層,用于為各個處理中心提供數(shù)據(jù)存儲和訪問支撐,通過分布式插件實現(xiàn)mysql數(shù)據(jù)庫的分布式部署,其包括單據(jù)庫、憑證庫、顆粒庫、報表庫、管理庫和用戶庫。

作為進一步優(yōu)化,所述交互層采用原生servlet提供訪問安全控制相關邏輯封裝。

作為進一步優(yōu)化,所述接口層采用spring框架,其采用springmvc提供rest風格的http接口,采用json格式封裝數(shù)據(jù),并集成mongodb進行關鍵數(shù)據(jù)緩存。

作為進一步優(yōu)化,所述服務層中的ocr中心集成ocr圖像識別軟件,消息中心集成消息隊列服務器、郵件服務功能和短信服務功能,對接中心集成cxf實現(xiàn)webservice接口。

作為進一步優(yōu)化,在所述分布式云平臺系統(tǒng)中,交互層通過http的rest風格接口訪問接口層,接口層通過dubbo框架訪問服務層,服務層通過jpa訪問數(shù)據(jù)層。

本發(fā)明的有益效果是:

本發(fā)明基于數(shù)據(jù)資產化基礎平臺,采用微服務架構并整合高性能rpc框架(dubbo)、分布式消息隊列技術(rocketmq)、分布式數(shù)據(jù)庫技術、分布式內存數(shù)據(jù)庫技術(mongodb)、分布式文件服務技術(fastdfs)、接口技術等實現(xiàn)高并發(fā)性能、高擴展、松耦合、低成本和可治理的分布式平臺系統(tǒng)。

具體實施方式

本發(fā)明基于微服務架構思維,結合soa(service-orientedarchitecture)、dubbo等優(yōu)秀分布式框架搭建面向互聯(lián)網(wǎng)的大型分布式云服務平臺,該平臺包括:交互層、接口層、服務層、數(shù)據(jù)層。下面對各層進行具體闡述:

交互層,包括web應用(租戶云單、云單管理平臺、單據(jù)工具、記賬工具)、移動應用(android端、ios端)。其利用html技術、jquery技術、flex技術為用戶提供快速友好的人機交互體驗,采用原生servlet提供訪問安全控制相關邏輯封裝。html為解釋型語言,對比編譯型語言(如jsp),其省去了繁瑣的編譯過程,訪問速度具有絕對的優(yōu)勢,同時html結合css、div技術開發(fā)前端交互界面非??焖偾铱删S護性強,展現(xiàn)效果豐富。jquery技術實現(xiàn)異步刷新訪問數(shù)據(jù),較傳統(tǒng)的頁面整體刷新方式更友好,傳輸數(shù)據(jù)量更小,速度更快。flex技術開發(fā)復雜的人機交互界面得心應手,更能使b/s軟件達到c/s軟件的效果。原生servlet技術使得交互層變得更輕量級,維護更加簡單,開發(fā)門檻更低。以上技術結合到一起,極大提高平臺的并發(fā)性能,從而達到1+1>2的效果。

接口層,包括租戶云單接口引擎、云單管理接口引擎、單據(jù)工具接口引擎、記賬工具接口引擎。主要提供接入鑒權、業(yè)務鑒權和業(yè)務封裝等功能,為交互層提供安全、高效的功能接入。本層采用spring框架,采用springmvc提供rest風格的http接口,json格式封裝數(shù)據(jù),集成mongodb進行關鍵數(shù)據(jù)緩存并杜絕本層應用訪問關系型數(shù)據(jù)庫,已達到高并發(fā)快速響應。spring框架作為輕量級的j2ee框架,幾乎支持所有的開源功能插件,使得功能集成變得簡單,具備極高的擴展性。同時依賴注入(ioc)、面向切面(aop)、事務控制等方式使得性能表現(xiàn)非常優(yōu)秀。springmvc作為spring框架的子項目,更能完全無縫集成到spring框架中,并支持rest風格的http接口的快速開發(fā)。為達到快速響應和高并發(fā),引入分布式的內存數(shù)據(jù)庫mongodb對關鍵數(shù)據(jù)進行存儲,如訪問率高的安全鑒權數(shù)據(jù)、身份數(shù)據(jù)等,切斷服務器與關系數(shù)據(jù)庫的交互,由此極大提高接口引擎的響應速度和并發(fā)性能。

服務層,利用微服務架構方式進行服務細化,包括單據(jù)中心、記賬中心、ocr中心、報表中心、用戶中心、消息中心和對接中心。各個中心相互獨立各不影響,做到根據(jù)功能需求任意異構。所有中心均采用spring框架,集成持久化框架(jpa)及數(shù)據(jù)庫連接池(druid)以達到高并發(fā)訪問數(shù)據(jù)目的。其中,ocr中心集成ocr圖像識別軟件,消息中心集成消息隊列服務器(rocketmq)、郵件服務功能和短信服務功能,對接中心集成cxf實現(xiàn)webservice接口。各個處理中心均針對不同的業(yè)務,因此其技術集成必須能夠滿足異構性,而微服務架構并結合dubbo框架的使用,使得異構變?yōu)楝F(xiàn)實。同時各個處理中心只訪問自己的關系型數(shù)據(jù)庫(mysql),減少業(yè)務耦合性的同時增加了數(shù)據(jù)訪問并發(fā)性能。結合性能優(yōu)秀的數(shù)據(jù)庫連接池(druid),平臺數(shù)據(jù)訪問整體性能得到質的飛越。而持久化框架(jpa)使開發(fā)門檻更低。分布式系統(tǒng)最大的難點在于分布式事務的處理,而消息隊列(rocketmq)的引入巧妙的解決了這個難題。基于長連接的rpc框架(dubbo)并結合分布式消息隊列(rocketmq),使并發(fā)性有了數(shù)量級的提升。

數(shù)據(jù)層、包括單據(jù)庫、憑證庫、顆粒庫、報表庫、管理庫和用戶庫,分別為各個處理中心提供數(shù)據(jù)存儲和訪問支撐,通過分布式插件實現(xiàn)mysql數(shù)據(jù)庫的分布式部署。交互層通過http的rest風格接口訪問接口層,接口層通過dubbo框架訪問服務層,服務層通過jpa訪問數(shù)據(jù)層。http請求使用nginx進行負載,dubbo服務通過zookeeper負載和可視化服務治理。平臺所有文件存儲和訪問統(tǒng)一使用分布式文件服務器(fastdfs),以提高并發(fā)性和易用性。

通過引入dubbo管理界面及持續(xù)集成工具(jenkins),使得大型分布式平臺的維護、部署、服務治理變得非常簡單。

在具體實施上,要實現(xiàn)本發(fā)明中的分布式云平臺系統(tǒng),需要經過對數(shù)據(jù)資產化基礎平臺總體架構—架構平臺交互層—架構平臺接口層—架構平臺服務層—架構平臺數(shù)據(jù)層的處理步驟,下面進行具體說明:

1)根據(jù)需求對數(shù)據(jù)資產化基礎平臺總體架構:確定項目技術框架需要滿足的各項性能指標;對實現(xiàn)這些要求的各項技術進行選型。明確使用大型分布式的soa架構進行設計,以滿足互聯(lián)網(wǎng)環(huán)境下的高并發(fā)訪問;采用縱向分層結構提高項目的靈活性,各層之間通過接口相互調用,提高功能的復用性和通用性;采用微服務模式對平臺進行橫向拆分,減少各個業(yè)務模塊間的耦合性,提高可擴展性,提高易用性和穩(wěn)定性等。所有插件均要求支持分布式,從而打造出一個完全分布式的大型平臺;

2)架構數(shù)據(jù)資產化基礎平臺的交互層:采用html語言,結合css和js進行界面開發(fā),并使用flex開發(fā)規(guī)則檢查的公式編輯界面。采用servlet進行后端調用邏輯封裝,提高接口訪問安全性,同時降低開發(fā)難度。采用tomcat作為應用服務器,增加平臺穩(wěn)定性;

3)架構數(shù)據(jù)資產化基礎平臺的接口層:采用java開發(fā)語言達到跨平臺目的,使用致力于提供高性能和透明化的rpc遠程服務調用方案的分布式soa開源框架dubbo,對于服務層,接口層作為服務消費方,使用zookeeper為接口層、服務層提供注冊服務。集成dubbo到spring框架中,集成jpa、mongodb等,使用springmvc框架提供http標準接口,對于交互層,接口層為服務提供方。采用tomcat作為應用服務器。集成dubbo到spring框架中;

4)架構數(shù)據(jù)資產化基礎平臺的服務層:采用java開發(fā)語言,使用致力于提供高性能和透明化的rpc遠程服務調用方案的分布式soa開源框架dubbo,本層所有子平臺作為服務提供方。集成dubbo到spring框架中,并集成jpa框架和druid框架,采用jar包方式啟動服務;消息中心集成分布式消息隊列(rocketmq),集成郵件功能和短信功能;外接中心集成cxf框架。

5)架構數(shù)據(jù)層:采用分布式mysql數(shù)據(jù)庫,采用分布式文件服務器(fastdfs)平臺實現(xiàn)對文件存儲和訪問以提高并發(fā)性和易用性。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1