本發(fā)明涉及大數(shù)據(jù)領域,具體提供一種提升數(shù)據(jù)處理效能的智能網(wǎng)關方法及裝置。
背景技術:
1、隨著業(yè)務應用技術架構的持續(xù)迭代升級,越來越多的企業(yè)開始采用微服務架構來構建和擴展其應用程序。微服務架構將大型應用程序拆分為一系列小型、獨立的服務,每個服務都運行在自己的進程中,并使用輕量級通信協(xié)議進行通信。這種架構風格有助于提高系統(tǒng)的可伸縮性、靈活性和可維護性。
2、然而,微服務架構也帶來了一些挑戰(zhàn),其中之一就是api網(wǎng)關的負載壓力問題。api網(wǎng)關作為微服務架構中的核心組件,扮演著服務請求入口、安全控制、服務路由和聚合等重要角色。隨著服務數(shù)量的增加和服務流量的不斷增長,api網(wǎng)關的負載壓力也隨之增加,這可能會導致性能瓶頸、延遲增加和服務不可用等問題。
3、由此看來,數(shù)字化飛速發(fā)展的今天,應用程序接口(api)已成為連接不同軟件系統(tǒng)和服務的核心橋梁。在這樣的背景下,api網(wǎng)關作為一種關鍵組件,發(fā)揮著至關重要的作用。使用api網(wǎng)關可以帶來諸多好處,包括集中管理和控制、提高安全性和身份驗證、優(yōu)化性能和用戶體驗、跨域和協(xié)議轉換、促進業(yè)務合作和生態(tài)構建以及易于擴展和維護。
4、因此,在現(xiàn)代數(shù)字化和互聯(lián)網(wǎng)化的企業(yè)架構中,使用api網(wǎng)關已成為一種不可或缺的選擇。通過充分發(fā)揮api網(wǎng)關的優(yōu)勢,企業(yè)可以提高系統(tǒng)的穩(wěn)定性、安全性和效率,推動業(yè)務的創(chuàng)新和發(fā)展。
5、隨著業(yè)務對于api網(wǎng)關的依賴性逐漸提升,勢必會給api網(wǎng)關帶來前所未有的壓力,現(xiàn)如今,傳統(tǒng)的api網(wǎng)關架構過于老舊,已無法滿足企業(yè)日新月異的需求,api網(wǎng)關的時常崩潰,將給企業(yè)帶來服務中斷、數(shù)據(jù)泄露與安全風險、系統(tǒng)性能下降、故障排查與恢復困難以及影響合作伙伴與生態(tài)系統(tǒng)等一系列嚴重的害處。
6、因此,在如此高并發(fā)、高負載的實際業(yè)務場景下,如何保證api網(wǎng)關的穩(wěn)定性和可靠性,成為當前亟需解決的技術問題。
技術實現(xiàn)思路
1、本發(fā)明是針對上述現(xiàn)有技術的不足,提供一種實用性強的提升數(shù)據(jù)處理效能的智能網(wǎng)關方法。
2、本發(fā)明進一步的技術任務是提供一種設計合理,安全適用的提升數(shù)據(jù)處理效能的智能網(wǎng)關裝置。
3、本發(fā)明解決其技術問題所采用的技術方案是:
4、一種提升數(shù)據(jù)處理效能的智能網(wǎng)關方法,具有如下步驟:
5、s1、搭建負載均衡器lbc;
6、s2、搭建數(shù)據(jù)壓縮控制器dcc;
7、s3、搭建分布式消息引擎dmc;
8、s4、搭建api網(wǎng)關引擎age;
9、s5、搭建主業(yè)務數(shù)據(jù)存儲器esd;
10、s6、搭建數(shù)據(jù)緩存存儲器acs;
11、s7、搭建日志數(shù)據(jù)存儲器lds;
12、s8、輸出高效高可靠的智能網(wǎng)關系統(tǒng)iga-driver。
13、進一步的,在步驟s1中,將大量的api訪問請求,通過網(wǎng)絡流量分發(fā)的模式,均衡分發(fā)到多臺服務器上,引擎采用開源負載均衡nginx作為負載均衡器,通過對nginx中的nginx.conf文件進行配置。
14、進一步的,在步驟s2中,采用gzip作為數(shù)據(jù)壓縮算法,將經(jīng)過負載均衡器lbc分發(fā)過來的api原始數(shù)據(jù),使用壓縮算法進行數(shù)據(jù)壓縮,并將壓縮后的數(shù)據(jù)輸出到api網(wǎng)關中。
15、進一步的,在步驟s3中,采用開源分布式協(xié)調器(zookeeper)+開源數(shù)據(jù)隊列kakfa架構模式部署分布式消息隊列,?其中zookeeper集群作為分布式協(xié)調管理,存放kafka集群的元數(shù)據(jù)及配置信息,負責kafka集群節(jié)點的尋址與轉發(fā);
16、kafka集群節(jié)點數(shù)量視業(yè)務量需求來定,部署完kafka集群,通過對server.properties等配置文件修改實現(xiàn)zookeeper集群與kafka集群的聯(lián)動。
17、進一步的,在步驟s4中,采用kubenates集群中的kong作為api網(wǎng)關核心組件,通過對api接口的前后端接口協(xié)議配置。
18、進一步的,在步驟s5中,構建緩存數(shù)據(jù)庫和日志數(shù)據(jù)庫,輔助主業(yè)務數(shù)據(jù)存儲器進行常用api數(shù)據(jù)及調用日志的存儲,主業(yè)務數(shù)據(jù)存儲器esd使用mysql數(shù)據(jù)庫,以1個mycat+3個mysql構建數(shù)據(jù)庫集群模式,架構中的mycat充當負載均衡的角色,通過配置的權重將數(shù)據(jù)分發(fā)到某個mysql節(jié)點,三個mysql節(jié)點之間數(shù)據(jù)自動同步。
19、進一步的,在步驟s6中,采用開源的緩存數(shù)據(jù)庫redis,按照哨兵模式進行部署,通過鍵值對key-value的方式進行存儲,具體的key值可根據(jù)業(yè)務實際需求進行定義。
20、進一步的,在步驟s7中,日志數(shù)據(jù)存儲器lds采用elk技術架構進行日志采集、分析及處理,其中l(wèi)ogstash起到了數(shù)據(jù)收集和處理的作用,收集api網(wǎng)關中api訪問日志數(shù)據(jù),并進行過濾、清洗、轉換及格式化,然后將處理后的數(shù)據(jù)發(fā)送給elasticsearch進行存儲;
21、其中elasticsearch負責將收集到的api訪問數(shù)據(jù)進行索引和存儲,kibana負責數(shù)據(jù)的可視化和分析用戶可以通過kibana來搜索、展示和分析存儲在elasticsearch中的api訪問日志數(shù)據(jù)。
22、進一步的,在步驟s8中,對負載均衡器lbc、數(shù)據(jù)壓縮控制器dcc、分布式消息引擎dmc、api網(wǎng)關引擎age、主業(yè)務數(shù)據(jù)存儲器bds、數(shù)據(jù)緩存存儲器acs和日志數(shù)據(jù)存儲器lds七部分的參數(shù)配置,使各個集群之間相互配合,最終實現(xiàn)通過前置的負載均衡器,使海量api數(shù)據(jù)均衡分發(fā)。
23、一種提升數(shù)據(jù)處理效能的智能網(wǎng)關裝置,包括:至少一個存儲器和至少一個處理器;
24、所述至少一個存儲器,用于存儲機器可讀程序;
25、所述至少一個處理器,用于調用所述機器可讀程序,執(zhí)行一種提升數(shù)據(jù)處理效能的智能網(wǎng)關方法。
26、本發(fā)明的一種提升數(shù)據(jù)處理效能的智能網(wǎng)關方法及裝置和現(xiàn)有技術相比,具有以下突出的有益效果:
27、本發(fā)明可以保障海量高頻api接口調用的時效性、安全性和可靠性,提升數(shù)據(jù)并發(fā)處理效能。
1.一種提升數(shù)據(jù)處理效能的智能網(wǎng)關方法,其特征在于,具有如下步驟:
2.根據(jù)權利要求1所述的一種提升數(shù)據(jù)處理效能的智能網(wǎng)關方法,其特征在于,在步驟s1中,將大量的api訪問請求,通過網(wǎng)絡流量分發(fā)的模式,均衡分發(fā)到多臺服務器上,引擎采用開源負載均衡nginx作為負載均衡器,通過對nginx中的nginx.conf文件進行配置。
3.根據(jù)權利要求2所述的一種提升數(shù)據(jù)處理效能的智能網(wǎng)關方法,其特征在于,在步驟s2中,采用gzip作為數(shù)據(jù)壓縮算法,將經(jīng)過負載均衡器lbc分發(fā)過來的api原始數(shù)據(jù),使用壓縮算法進行數(shù)據(jù)壓縮,并將壓縮后的數(shù)據(jù)輸出到api網(wǎng)關中。
4.根據(jù)權利要求3所述的一種提升數(shù)據(jù)處理效能的智能網(wǎng)關方法,其特征在于,在步驟s3中,采用開源分布式協(xié)調器(zookeeper)+開源數(shù)據(jù)隊列kakfa架構模式部署分布式消息隊列,?其中zookeeper集群作為分布式協(xié)調管理,存放kafka集群的元數(shù)據(jù)及配置信息,負責kafka集群節(jié)點的尋址與轉發(fā);
5.根據(jù)權利要求4所述的一種提升數(shù)據(jù)處理效能的智能網(wǎng)關方法,其特征在于,在步驟s4中,采用kubenates集群中的kong作為api網(wǎng)關核心組件,通過對api接口的前后端接口協(xié)議配置。
6.根據(jù)權利要求5所述的一種提升數(shù)據(jù)處理效能的智能網(wǎng)關方法,其特征在于,在步驟s5中,構建緩存數(shù)據(jù)庫和日志數(shù)據(jù)庫,輔助主業(yè)務數(shù)據(jù)存儲器進行常用api數(shù)據(jù)及調用日志的存儲,主業(yè)務數(shù)據(jù)存儲器esd使用mysql數(shù)據(jù)庫,以1個mycat+3個mysql構建數(shù)據(jù)庫集群模式,架構中的mycat充當負載均衡的角色,通過配置的權重將數(shù)據(jù)分發(fā)到某個mysql節(jié)點,三個mysql節(jié)點之間數(shù)據(jù)自動同步。
7.根據(jù)權利要求6所述的一種提升數(shù)據(jù)處理效能的智能網(wǎng)關方法,其特征在于,在步驟s6中,采用開源的緩存數(shù)據(jù)庫redis,按照哨兵模式進行部署,通過鍵值對key-value的方式進行存儲,具體的key值可根據(jù)業(yè)務實際需求進行定義。
8.根據(jù)權利要求7所述的一種提升數(shù)據(jù)處理效能的智能網(wǎng)關方法,其特征在于,在步驟s7中,日志數(shù)據(jù)存儲器lds采用elk技術架構進行日志采集、分析及處理,其中l(wèi)ogstash起到了數(shù)據(jù)收集和處理的作用,收集api網(wǎng)關中api訪問日志數(shù)據(jù),并進行過濾、清洗、轉換及格式化,然后將處理后的數(shù)據(jù)發(fā)送給elasticsearch進行存儲;
9.根據(jù)權利要求8所述的一種提升數(shù)據(jù)處理效能的智能網(wǎng)關方法,其特征在于,在步驟s8中,對負載均衡器lbc、數(shù)據(jù)壓縮控制器dcc、分布式消息引擎dmc、api網(wǎng)關引擎age、主業(yè)務數(shù)據(jù)存儲器bds、數(shù)據(jù)緩存存儲器acs和日志數(shù)據(jù)存儲器lds七部分的參數(shù)配置,使各個集群之間相互配合,最終實現(xiàn)通過前置的負載均衡器,使海量api數(shù)據(jù)均衡分發(fā)。
10.一種提升數(shù)據(jù)處理效能的智能網(wǎng)關裝置,其特征在于,包括:至少一個存儲器和至少一個處理器;