本發明專利技術公開了一種分布式集群數據服務方法及系統,具體包括:用戶端,反向代理服務器,Web服務器,處理節點,數據庫服務器。本發明專利技術整合多種開源技術來實現分布式運算的可彈性伸縮集群數據服務。Vert.x是一個開源的異步無阻塞的java框架。hazelcast是一個開源的分布式框架。Nginx是一個輕量級的高性能HTTP和反向代理服務器。通過本發明專利技術的分布式的服務集群,可有效分配資源,保障了服務的有效性和能效性。
【技術實現步驟摘要】
一種分布式集群數據服務方法及系統
本專利技術涉及一種數據服務領域,更具體的,涉及一種分布式集群數據服務方法及系統。
技術介紹
隨著互聯網行業的迅猛發展,組織業務的不斷擴張,需求不斷的增加以及用戶量的不斷增加,技術框架面臨著越來越多的挑戰。一方面,隨著業務的擴大,如何為用戶提供可靠的服務,如何有效處理用戶增多后導致并發請求數增多,導致的響應慢的問題,以及如何有效解決用戶增多后帶來的大數據量的問題等。另外一方面,公司或者組織業務的不斷擴張,需求不斷的增加,越來越多的人加入開發團隊,代碼庫也在急劇膨脹。當前的技術趨勢對服務的維護成本、靈活性,測試成本、構建成本要求越來越高。而傳統的單體架構采用統一的技術體系和標準,在開發時,按模塊劃分,各模塊之間相對獨立;在部署時,系統當作一個整體部署。傳統的單體架構難以滿足當前互聯網技術的要求。1.兼容性差采用統一的技術標準,對技術的兼容性和對平臺的多樣性有限制,難以能滿足現在多樣化的平臺。2.不利于業務擴展或者變更模塊之間獨立開發,但存在重疊代碼,當業務變更或者需要擴展時,只能基于整個系統進行變更或擴展,無法針對某一個功能模塊按需變更或擴展。3.維護成本高單體架構接口冗長而復雜,系統多次變更后,架構會膨脹而且難以理解。4.容錯性差單體架構將系統作為一個整體構建、部署,當其中一個模塊出現異常,只能整個系統重新更新、構建、部署。
技術實現思路
本專利技術旨在至少解決現有技術中存在的技術問題之一。為實現上述目的,本專利技術設計一種分布式集群數據服務方法,包括以下步驟:步驟S1,反向代理服務器接收用戶端發送的web請求,并將所述web請求轉發至web服務器;步驟S2,web服務器將接收的所述web請求轉發至一個或多個處理節點;步驟S3,所述一個或多個處理節點訪問數據庫服務器,獲取數據庫服務器返回的結果;步驟S4,處理節點將所述結果轉發至web服務器,所述web服務器根據接收到的所述結果進行合并處理,再將合并后的結果發送至反向代理服務器;步驟S5,所述代理服務器將接收到的所述合并后的結果發送至用戶端。具體的,所述用戶端通過瀏覽器發送web請求,并且在用戶端發送web請求后,DNS服務器進行請求地址的解析,獲取目的IP地址,并將所述web請求發送至目的地址處。具體的,所述反向服務器為Nginx服務器,所述web服務器為采用vertx的服務器,所述處理節點為采用vertx的節點。優選的,還存在監控節點,其用于發送心跳報文至web服務器,用以確定web服務器的存活情況。優選的,所述監控節點為采用hazelcast技術的節點。具體的,當所述監控節點發現web服務器列表發生變化后,則通知所有已經注冊的節點,更新最新的web服務器列表。本專利技術另一方面還提供一種分布式集群數據服務系統,包括:用戶端,用于發送web請求和接收結果;反向代理服務器,用于接收用戶端發送的web請求,轉發至web服務器,和接收合并的結果信息轉發至用戶端;Web服務器,用于接收反向代理服務器轉發的所述web請求,轉發至處理節點,和接收處理節點的結果,進行合并處理,再轉發至反向代理服務器;處理節點,用于接收web服務器轉發的web請求,轉發至數據庫服務器,和接收數據庫服務器返回的結果并轉發至web服務器;數據庫服務器,用于接收處理節點發送的web請求,并返回結果至處理節點。優選的,還包括:監控節點,其用于發送心跳報文至web服務器,用以確定web服務器的存活情況。具體的,所述反向服務器為Nginx服務器,所述web服務器為采用vertx的服務器,所述處理節點為采用vertx的節點。具體的,所述監控節點為采用hazelcast技術的節點。分布式運算的可彈性伸縮集群數據服務綜合應用負載均衡和微服務技術,具有以下優點:一、分布式的服務集群,有效分配資源,保障了服務的有效性和能效性;二、通過分解巨大單體式應用為多個服務方法解決了復雜性問題。在功能不變的情況下,應用被分解為多個可管理的分支或服務。每個服務都有一個用RPC-或者消息驅動API定義清楚的邊界。微服務架構模式給采用單體式編碼方式很難實現的功能提供了模塊化的解決方案,由此,單個服務很容易開發、理解和維護。三、這種架構使得每個服務都可以有專門開發團隊來開發。開發者可以自由選擇開發技術,提供API服務。然后,這種自由意味著開發者不需要被迫使用某項目開始時采用的過時技術,他們可以選擇現在的技術。甚至于,因為服務都是相對簡單,即使用現在技術重寫以前代碼也不是很困難的事情。四、微服務架構模式是每個微服務獨立的部署。開發者不再需要協調其它服務部署對本服務的影響。這種改變可以加快部署速度。UI團隊可以采用AB測試,快速的部署變化。微服務架構模式使得持續化部署成為可能。最后,可彈性的伸縮的微服務架構模式使得每個服務獨立擴展。可以根據每個服務的規模來部署滿足需求的規模。附圖說明圖1示出了本專利技術分布式可彈性架構示意圖;圖2示出了本專利技術一種分布式集群數據服務方法的流程圖;圖3示出了本專利技術微服務集群的示意框圖;圖4示出了本專利技術服務之間的通信流程圖;圖5示出了本專利技術一實施例的服務運行流程圖;圖6示出了本專利技術一種分布式集群數據服務系統的結構框圖。具體實施方式為了能夠更清楚地理解本專利技術的上述目的、特征和優點,下面結合附圖和具體實施方式對本專利技術進行進一步的詳細描述。需要說明的是,在不沖突的情況下,本申請的實施例及實施例中的特征可以相互組合。在下面的描述中闡述了很多具體細節以便于充分理解本專利技術,但是,本專利技術還可以采用其他不同于在此描述的方式來實施,因此,本專利技術的保護范圍并不受下面公開的具體實施例的限制。基于上述的單塊架構,項目需要一個新的架構,來解決單塊架構缺點,以滿足業務快速發展、數據快速增長、用戶快速增加。新架構,基于微服務,來實現分布式運算的可彈性伸縮集群數據服務框架,需要滿足下面的需求:a、解耦、復雜度可控:在將應用分解的同時,規避了原本復雜度無止境的積累。每一個微服務專注于單一功能,并通過定義良好的接口清晰表述服務邊界,可由一個小規模開發團隊完全掌控,易于保持高可維護性和開發效率。b、快速、獨立部署:可以獨立部署。當某個微服務發生變更時無需編譯、部署整個應用。使得發布更加高效,同時降低對生產環境所造成的風險,最終縮短應用交付周期。c、技術選型靈活:每個團隊可以根據自身服務的需求和行業發展的現狀,自由選擇最適合的技術棧。d、容錯:當某一組建發生故障時,在單一進程的傳統架構下,故障很有可能在進程內擴散,形成應用全局性的不可用。故障被隔離在單個服務中。設計良好,其他服務可通過重試、平穩退化等機制實現應用層面的容錯。e、彈性伸縮擴展:應用根據實際生產情況,架構需要體現靈活性,可以快速進行伸縮性、擴展性。f、功能特定:單個服務一般完成某個特定的功能,比如消息管理、客戶管理等等。每一個服務都有自己的業務邏輯和適配器。本方案整合多種開源技術(Nginx+Vert.x+hazelcast)來實現分布式運算的可彈性伸縮集群數據服務。Vert.x是一個開源的異步無阻塞的java框架。hazelcast是一個開源的分布式框架。Nginx是一個輕量級的高性能HTTP和反向代理服務器。圖1示出了本專利技術分布式可彈性架構示意圖。本文檔來自技高網...

【技術保護點】
一種分布式集群數據服務方法,其特征在于,包括以下步驟:步驟S1,反向代理服務器接收用戶端發送的web請求,并將所述web請求轉發至web服務器;步驟S2,web服務器將接收的所述web請求轉發至一個或多個處理節點;步驟S3,所述一個或多個處理節點訪問數據庫服務器,獲取數據庫服務器返回的結果;步驟S4,處理節點將所述結果轉發至web服務器,所述web服務器根據接收到的所述結果進行合并處理,再將合并后的結果發送至反向代理服務器;步驟S5,所述代理服務器將接收到的所述合并后的結果發送至用戶端。
【技術特征摘要】
1.一種分布式集群數據服務方法,其特征在于,包括以下步驟:步驟S1,反向代理服務器接收用戶端發送的web請求,并將所述web請求轉發至web服務器;步驟S2,web服務器將接收的所述web請求轉發至一個或多個處理節點;步驟S3,所述一個或多個處理節點訪問數據庫服務器,獲取數據庫服務器返回的結果;步驟S4,處理節點將所述結果轉發至web服務器,所述web服務器根據接收到的所述結果進行合并處理,再將合并后的結果發送至反向代理服務器;步驟S5,所述代理服務器將接收到的所述合并后的結果發送至用戶端。2.根據權利要求1所述的一種分布式集群數據服務方法,其特征在于,所述用戶端通過瀏覽器發送web請求,并且在用戶端發送web請求后,DNS服務器進行請求地址的解析,獲取目的IP地址,并將所述web請求發送至目的地址處。3.根據權利要求1所述的一種分布式集群數據服務方法,其特征在于,所述反向服務器為Nginx服務器,所述web服務器為采用vertx的服務器,所述處理節點為采用vertx的節點。4.根據權利要求1所述的一種分布式集群數據服務方法,其特征在于,還存在監控節點,其用于發送心跳報文至web服務器,用以確定web服務器的存活情況。5.根據權利要求4所述的一種分布式集群數據服務方法,其特征在于,所述監控節點為采用hazelcast技術的節點...
【專利技術屬性】
技術研發人員:陳葵,勞小敏,黃曉嵐,馮柱態,
申請(專利權)人:廣東馬良行科技發展有限公司,
類型:發明
國別省市:廣東,44
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。