王海濱
摘要:隨著互聯網時代的來臨,數據化時代的不斷推進,現代社會對信息數據的重視程度愈發(fā)提高,如何更加高效、高速的處理海量信息數據,為用戶提供更加優(yōu)質的服務是許多互聯網企業(yè)必須要思考的問題,而采用分布式處理方式既能夠緩解運營商的主機壓力又能夠為用戶提高更加優(yōu)質的服務,故該文圍繞著面向大數據應用的分布式服務平臺設計與實現這一主題進行闡述,希望能夠以此為大數據處理方面的研究提供一份參考資料。
關鍵詞:大數據;分布式服務平臺;設計與實現
中圖分類號:G642? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)15-0067-02
當下隨著互聯網技術的不斷成熟,我們可以從互聯網上找到諸多的信息數據,而如何從這龐雜的數據中找到我們所需要的,如何提升用戶的使用體驗,是許多互聯網公司提升自身核心競爭力的關鍵點之一,同時搭建屬于企業(yè)自身的大數據應用平臺也是許多互聯網公司努力奮斗的目標,故本文圍繞著面向大數據應用的分布式服務平臺設計與實現這一主題進行了詳細陳述,具體陳述如下。
1 大數據技術
目前有關大數據尚無明確定義,但來自麥肯錫研究所對于大數據的解釋是現如今較為被認可的說法之一,該研究所認為大數據是一種海量數據的集合,其數據總量非常龐大,根本不是可以依靠少量計算機就能夠進行處理的數據量,其具有數據總量龐大、類型豐富、數據價值密度低的特點。在信息技術全球化的當下,大數據的價值堪比工業(yè)時代煤炭的價值,對于現代企業(yè)而言大數據技術是非常富有價值的,通過對這些“煤炭”的挖掘可以為諸多服務企業(yè)提供精準銷售,也可以讓許多中小企業(yè)、傳統(tǒng)企業(yè)通過大數據技術實現企業(yè)轉型。總而言之隨著時代的不斷進步,未來大數據技術的不斷成熟,其對于經濟社會的價值體現會愈發(fā)明顯,愈發(fā)重要。
2 國內外有關大數據應用管理的相關研究
隨著大數據時代的來臨,許多企業(yè)已經意識到大數據的重要性從而著手對大數據管理應用進行研究,其中Google、Oracle、Microsoft等企業(yè)更是已經有了一定的研究成果并投入到實際應用當中,如由Google企業(yè)開發(fā)的一款名為Map Reduce的計算模型,其就能夠對大數據進行有效處理,且算模型因其出色的高容錯率、高擴展性等優(yōu)點受到眾人的追捧,而脫胎于Map Reduce的Hadoop則更是因為其能夠高效的處理大數據作為當時處理研究大數據的主要途徑,對整個學術界和大數據市場產生了極大的沖擊,被廣泛用作搭建大數據管理的基礎平臺,但隨著科學技術的不斷發(fā)展,Hadoop又因為管理大數據而造成的計算機系統(tǒng)高延遲問題而被分布式內存中的Key-Value存儲所淘汰,總而言之,大數據管理系統(tǒng)在當下是十分受人矚目的,且已經取得了一定的研究成果,但目前仍然還有著許多的難關需要不斷的克服,但無論如何大數據的外來發(fā)展與應用的前景依舊是十分光明的。
3 大數據應用平臺結構設計
為了使各企業(yè)能夠從大數據中及時地找出自己所需要的數據,同時也為了緩解服務器的壓力,設計大數據管理應用平臺時可以采用分布式結構,通過將數據集群進行分解,不斷分攤在各子集群上的這一結構達到搭建大數據應用管理平臺的目的。從結構角度分析可將Hadoop/Spark作為整個大數據分布式服務平臺的核心技術,通過REST協(xié)議實現各服務器之間的溝通交流,其基本結構如圖1所示。從數據存儲的角度來看,將數據的儲存使用分布式儲存方式,將一個大的數據集群,分門別類地存放于子存儲系統(tǒng)當中,在通過子存儲系統(tǒng)將這些數據提供給諸多用戶使用,達到實現優(yōu)化整個大數據平臺的存儲查看的效果。通過使用分布式存儲方式的形式,將整個大數據應用平臺通過將各數據進行整合分析,使各企業(yè)能夠充分使用企業(yè)內部的各存儲設備,達到存儲設備的最大使用率,并方便各企業(yè)對諸多數據進行分析研究找出其內在價值,從而根據數據所提供的消息展開有針對性的營銷策略。
4 系統(tǒng)功能設計
對于搭建一個可靠的大數據應用平臺而言光靠合理的結構是不能夠滿足市場的需求的,其不僅需要合理的結構體系,還需要滿足有能夠服務于大數據應用平臺的功能,具體功能需求如下:
(1) 應用注冊模塊:以注冊Eureka Server為例,當大數據系統(tǒng)正式應用后,用戶通過客戶端進行注冊此時注冊信息會上傳至各子服務器,存放著注冊信息的子服務器又會向Eureka Server發(fā)送信號,而Eureka Server會以30s為周期對這些注冊信息進行處理和儲存。同時在不同的Eureka Server之間則通過數據間的交互復制完成信息的同步。且為了防止因Eureka Server出現問題而導致數據丟失,Eureka還設立了一份保險裝置,即提供了客戶端緩存機制,這樣即使所有的Eureka Server全部出現問題,數據全部丟失,客戶端所緩存的信息依舊可以使用其他服務的API。
(2) 路由網關模塊:路由網關的核心是一系列的filters,如Authentication、Load Shedding,當客戶端前的用戶向大數據應用平臺發(fā)起申請時,路由網關首先會檢測該用戶是否有權限進行申請?zhí)幚?,若有路由網關就會自動將該申請發(fā)送至對應的服務地址上,進行專項處理,若無權限則會拒絕該申請,自動將頁面返回登錄界面。同時如果服務有集群則進行負載均衡,默認是輪詢的方式。
(3) 訪問控制模塊:是整個服務平臺對各用戶的訪問進行控制管理的一個模塊,對訪問用戶的身份進行驗證,進行授權。對每個點擊登錄的用戶返回一個JWT網頁令牌給用戶,實現給予用戶權限和身份識別,從而實現無狀態(tài)、分布式的Web應用授權,從而對用戶的訪問進行處理驗證。
(4) 用戶和服務模塊:系統(tǒng)需要分別開放一個restful接口,讓用戶和第三方通過post、delete、put、post等操作指令獲取所需要的數據信息,從而達到實現操作和管理的目的,且這兩者是有所區(qū)別的,前者是通過讓用戶進行主動搜索尋找到用戶自身所需要的數據資源,后者是將對應的大數據信息傳送至第三方服務。
(5) 服務質量模塊:這一模塊是為了保障用戶在使用大數據服務時能夠有一個優(yōu)質的使用體驗,從而增加用戶二次使用概率的一個模塊。傳統(tǒng)模式下BIO用戶每發(fā)起一次搜索,每點開一個連接,服務器都需要對應地創(chuàng)造一個單獨的線程進行維護回應,這對服務器產生了較大的壓力,也造成了許多不必要的資料浪費,對用戶的回應效率也較慢,導致了用戶的體驗較差。因此在搭建服務質量模塊時可以使用Netty,這是一個基于Reactor設計模式事件驅動模型的網絡編程框架。使用NIO模式的用戶避免了每點開一個鏈接就會產生一個新的線程的情況,可以只使一個線程就能夠應對多個鏈接,極大的增加了回應用戶的效率,減少了資源的浪費。
(6) 第三方服務模塊:為了符合市場需求,大數據應用平臺的設計必然要有著第三方服務模塊,就如七牛云存儲,除了本身提供的資源存儲管理服務,現還有這第三方支付服務,如銀聯、支付寶、微信等。
5 系統(tǒng)實現與應用
為了實現系統(tǒng)的搭建和應用,除了要完成上述內容以外還要完成前后端分離和系統(tǒng)緩存一致性,才能真正實現大數據應用的分布式服務平臺搭建。
5.1 前后端分離技術實現
一個成熟的,搭建完善的大數據應用平臺其前端和后端必然是分離的,這已經成了互聯網界項目開發(fā)的標準模式,前后端分離不僅可以為之后的平臺結構優(yōu)化、多端化服務打下良好的基礎,還因為對于大數據應用平臺而言最佳的結構形式是分布式結構,而采用前后端分離更加方便這種結果的搭建,同時也是的開發(fā)人員能夠全力投入到更加適合自身的工作之中,做到術業(yè)有專攻,提升平臺的搭建速度和質量。故在進行前后端分離時,前端可以采用Vue,以單向數據流的狀態(tài)管理模式進行構建,后端則用Spring Cloud系列的技術對服務進行分模塊開發(fā),而前后端對外則使用統(tǒng)一網關的形式提供接口,將前端的接口通過mock數據源轉接到后端的接口即可完成前后端分離的實現。
5.2 保障系統(tǒng)緩存一致性實現
因為大數據應用平臺搭建結構模式采用的是分布式模式,其數據整體具有較強的實時性,而為了優(yōu)化用戶體驗,使得大數據應用系統(tǒng)能夠為顧客提供更加高效、優(yōu)質的服務,還需要保障系統(tǒng)緩存的一致性,而要做到這一點還需要注意以下內容:1)要設計一個內存隊列保存對數據的操作;2)及時清除服務器中不必要的緩存,避免這些緩存侵占過多的服務器資源,需要注意的是在需要更新數據庫時需要優(yōu)先刪除緩存在進行更新;3)優(yōu)化整體操作、整體運行,刪除無意義的、重復的操作;4)同步等待緩存更新完成,從分布式存儲系統(tǒng)中讀取最新數值,再寫入緩存中;5)若用戶進行數據請求時,等待的時間過長則需要對舊值進行清理,保證緩存的一致性,以免請求發(fā)生沖突。
6 結束語
綜上所述,隨著互聯網時代的來臨,數據的價值愈發(fā)被人們所重視,我們身邊的大多數信息都已經數據化,我們在網上可以接觸愈來愈多的信息數據,而將這些海量的數據信息進行統(tǒng)籌規(guī)劃實際應用,挖掘出這些信息潛在價值就是面向大數據應用平臺搭建的目的。故本文介紹了大數據技術,分享了國內外有關大數據應用管理的相關研究,設計了面向大數據應用的分布式服務的結構設計、功能設計以及前后端分離,并保障了系統(tǒng)緩存的一致性,以求能夠實現大數據應用平臺的搭建。
參考文獻:
[1] 楊秋鴻,潘曉衡,趙鐵柱,等.面向大數據應用的分布式服務平臺設計與實現[J].東莞理工學院學報,2020,27(1):34-38.
[2] 董佩.大數據環(huán)境下面向電信行業(yè)數據管理平臺的設計與實現[D].漳州:閩南師范大學,2016.
[3] 趙冰峰.面向集成應用的不動產信息服務平臺設計與實現[D].徐州:中國礦業(yè)大學,2017.
[4] 吳東堯.面向大數據的分布式數據流處理引擎設計與實現[D].北京:中國科學院大學,2012.
[5] 安秀成.一個基于WINDOWS NT平臺的分布式面向對象數據庫管理系統(tǒng)的設計與實現[D].遼寧:東北大學,1998.
【通聯編輯:代影】