目前的設(shè)計(jì)方案
創(chuàng)新互聯(lián)主要企業(yè)基礎(chǔ)官網(wǎng)建設(shè),電商平臺(tái)建設(shè),移動(dòng)手機(jī)平臺(tái),重慶小程序開發(fā)等一系列專為中小企業(yè)按需搭建網(wǎng)站產(chǎn)品體系;應(yīng)對(duì)中小企業(yè)在互聯(lián)網(wǎng)運(yùn)營(yíng)的各種問題,為中小企業(yè)在互聯(lián)網(wǎng)的運(yùn)營(yíng)中保駕護(hù)航。1.1.控制計(jì)數(shù):
在目前的項(xiàng)目中,有很多接口需要對(duì)訪問方進(jìn)行權(quán)限訪問控制。目前設(shè)計(jì)方案是:利用redis集群來存儲(chǔ)每個(gè)訪問控制點(diǎn)的訪問計(jì)數(shù)信息。Key值為=PlatformId(接入平臺(tái)方)+InterfaceId(系統(tǒng)接口)+dayTime(日期時(shí)間),value值為當(dāng)天每個(gè)時(shí)段的訪問次數(shù)統(tǒng)計(jì)列表。
1.2.控制規(guī)則:
通過頁面配置并制定控制規(guī)則、業(yè)務(wù)系統(tǒng)在啟動(dòng)時(shí)加載控制規(guī)則,并訪問redis獲取控制次數(shù),然后在業(yè)務(wù)系統(tǒng)中做邏輯判斷完成,ACL控制做請(qǐng)求攔截處理。
目前的痛點(diǎn):
2.1.在大數(shù)據(jù)量高并發(fā)時(shí),由于業(yè)務(wù)系統(tǒng)是集的并且是并發(fā)處理,會(huì)出現(xiàn)瞬間redis單點(diǎn)的qps峰值達(dá)到13w/s。出現(xiàn)這種情況的原因是Platform+InterfaceId+Day作為key的設(shè)計(jì),會(huì)造成一個(gè)接入方的請(qǐng)QPS過大時(shí)直接映射到后端的redis的單點(diǎn)請(qǐng)求上,沒有利用到redis的集群效應(yīng)。
2.2.當(dāng)前的訪問控制功能和業(yè)務(wù)代碼緊密耦合在一起,無法做到單獨(dú)對(duì)訪問控制功能進(jìn)行水平擴(kuò)展,造成管理與優(yōu)化不便。
結(jié)構(gòu)圖:
初步解決思路:
4.1. 減少redis的訪問量、并將redis的key值做細(xì)分使其能均勻分布到所在redis集群上.
4.2. 對(duì)ACL訪問控制功能進(jìn)行服務(wù)化處理,做成無狀態(tài)支持水平擴(kuò)展。
4.3. 引入異步處理邏輯、將ACL服務(wù)與業(yè)務(wù)方分離。后續(xù)ACL服務(wù)的變動(dòng)對(duì)業(yè)務(wù)系統(tǒng)無感知。
4.4.實(shí)現(xiàn)預(yù)先計(jì)算功能,在做redis匯總統(tǒng)計(jì)時(shí)現(xiàn)在ACL系統(tǒng)中做分組預(yù)計(jì)算,減少更新redis的頻率。
4.5.延遲檢測(cè)控制,ACL訪問控制目的主要是對(duì)一些過量請(qǐng)求進(jìn)行攔截處理,非一定要保證實(shí)時(shí)性和一致性。通過延遲統(tǒng)計(jì)策略實(shí)現(xiàn)高吞吐量的處理能力。
4.6.通知攔截機(jī)制,業(yè)務(wù)方不需要做任何攔截控制統(tǒng)計(jì)和分析,只需要接受ACL系統(tǒng)通知并執(zhí)行通知?jiǎng)幼骷纯伞?/p>
具體實(shí)施細(xì)則:
5.1. 所有配置信息統(tǒng)一由配置中心管理,ACL和Service(服務(wù)系統(tǒng))都到zk上注冊(cè)和訂閱服務(wù)。
5.2. Service方發(fā)送統(tǒng)計(jì)消息到MQ上,ACL去訂閱該TOPIC來消費(fèi)
5.3. ACL在自身內(nèi)存中做初步預(yù)處理計(jì)算,并定時(shí)刷新到redis集群做聚合運(yùn)算。
5.4. 啟動(dòng)定時(shí)服務(wù)掃描所有控制規(guī)則,檢測(cè)到需要攔截的規(guī)則后,創(chuàng)建廣播消息,發(fā)送到MQ上。
5.5. Service方訂閱廣播消息,發(fā)現(xiàn)消息后,解析并在內(nèi)存中對(duì)滿足規(guī)則的訪問進(jìn)行攔截控制。
5.6. 配置中心信息變更時(shí),通過廣播推送給所有訂閱方,訂閱方獲取消息后到服務(wù)提供方來拉取信息并更新自身內(nèi)存信息。
結(jié)構(gòu)圖如下:
目前該項(xiàng)目的重構(gòu)方案正在實(shí)施,后續(xù)實(shí)施效果待更新第二版。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)頁標(biāo)題:大數(shù)據(jù)量下的高并發(fā)分布式訪問控制(ACL)優(yōu)化方案(一)-創(chuàng)新互聯(lián)
網(wǎng)站鏈接:http://www.rwnh.cn/article24/ehdje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、全網(wǎng)營(yíng)銷推廣、品牌網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)、營(yíng)銷型網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容