后端系统开发之白名单机制
前言
后端系統(tǒng)中經(jīng)常會(huì)聽到“某某白名單”的名字,為什么要有白名單呢?使用白名單機(jī)制有什么好處??在大型后端系統(tǒng)中,白名單機(jī)制是必不可少的
概念
白名單的概念與“黑名單”相對(duì)應(yīng)。
白名單是設(shè)置能通過的用戶,白名單以外的用戶都不能通過。
黑名單是設(shè)置不能通過的用戶,黑名單以外的用戶都能通過。
所以一般情況下白名單比黑名單限制的用戶要更多一些。
實(shí)際用途
用途一:
黑名單的對(duì)立面。這是白名單最明顯的應(yīng)用場(chǎng)景,例如微信朋友圈禁止抖音、快手等平臺(tái)的短視頻分享,但是微信、QQ等APP拍攝的小視頻是可以分享的,所以這里有一個(gè)“短視頻分享白名單”在起
作用。?
用途二:
測(cè)試帳號(hào)。我們?cè)跍y(cè)試新功能的時(shí)候,剛開始不想對(duì)所有用戶都生效,可以通過白名單機(jī)制限制生效范圍,利用白名單的思想可以對(duì)賬號(hào)進(jìn)行分類,只有在白名單中的測(cè)試帳號(hào)才能體驗(yàn)新功能,不在
白名單中的賬號(hào)則完全無感知。?
用途三:
上線控制。舉個(gè)例子:A公司的產(chǎn)品有PC、APP、微信、小程序等4個(gè)客戶端,現(xiàn)在由于公司業(yè)務(wù)發(fā)展,需要緊急上線某個(gè)功能,由于各客戶端的開發(fā)任務(wù)都很重,只有APP和微信順利完成開發(fā),PC
和小程序要延期上線,這時(shí)后端系統(tǒng)顯然不能對(duì)所有客戶端渠道都開放新功能,可以通過新增一個(gè)該功能的白名單配置,控制上線節(jié)奏。示意如下:
X功能上線范圍 = APP,Weixin,有了這個(gè)白名單,就可以玩出花樣來:PC、小程序上線,可以修改白名單,增加配置;后端系統(tǒng)發(fā)現(xiàn)該功能的一個(gè)BUG,該BUG只影響APP,而不影響微信,可以修
改白名單配置,讓APP的功能緊急下線處理,但是微信仍然保留,待BUG解決后再對(duì)APP上線。
用途四:
限制范圍。嚴(yán)格來說特權(quán)賬號(hào)、測(cè)試帳號(hào)和上線控制都是限制范圍的例子,所以說限制范圍其實(shí)是最能體現(xiàn)后端系統(tǒng)中白名單機(jī)制威力的場(chǎng)景,工程師們可以利用各種白名單機(jī)制縮小某個(gè)功能的生效
范圍,從而實(shí)現(xiàn)系統(tǒng)自我保護(hù)。寫到這里的時(shí)候,不禁想起剛剛過去沒有多久的拼多多一張測(cè)試優(yōu)惠券跑到線上的嚴(yán)重BUG,后端系統(tǒng)一定要通過設(shè)置各種限制條件,防止此類悲劇的發(fā)生。
實(shí)現(xiàn)
白名單如何實(shí)現(xiàn):白名單實(shí)現(xiàn)非常簡(jiǎn)單,配置文件、數(shù)據(jù)庫中的表都可以用來實(shí)現(xiàn)白名單。白名單一般最終會(huì)加載到內(nèi)存中,通常用set或者map存儲(chǔ),以方便快速查找。
總結(jié)
一句話總結(jié):白名單機(jī)制是一種簡(jiǎn)單易用的技術(shù)手段,利用白名單機(jī)制方便測(cè)試和上線控制,實(shí)現(xiàn)各類功能限制,保護(hù)系統(tǒng)安全和工程師職業(yè)生涯。
?
轉(zhuǎn)載于:https://www.cnblogs.com/kunmomo/p/11540248.html
總結(jié)
以上是生活随笔為你收集整理的后端系统开发之白名单机制的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 模版引擎总结之综合分析模版引擎
- 下一篇: 风控系统