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