牛逼,反作弊功能原來是這麼實現的
大家好,我是章魚貓。
今天推薦的這個項目是「Koala」,也叫 “用戶行爲頻率控制系統”。它是用 Go 語言開發的高性能後端獨立服務,獨立的規則引擎 + 計數器,採用 Redis 緩存用戶行爲數據。
Koala 的初衷是支撐線上業務的多種用戶行爲頻率控制需求,屬於反作弊功能的一個組成部分。同時,它將控制策略完全配置化,Koala 系統本身不和業務策略直接耦合,提供 Http 接口供業務方訪問,故通用性較強,也適用於各類 UGC 產品的同類需求,並且性能高超。
如果你有這樣的需求,那麼 Koala 適合你。
-
每個用戶,每天提問,最多 5 次
-
兩次 Y 彈窗,至少間隔 2 小時
-
每個用戶,X 時段內,積分增長不超過 300 分
-
某 IP,X 時段內,發帖超過 10 次,出驗證碼
-
某 IP,X 時段內,回答 20 次以後,每次間隔 60 秒
Koala 技術特性
-
獨立運行的高性能後端服務
-
純 Go 語言實現、對外提供 Http 接口。
-
關注頻率控制,但不耦合任何業務
-
高度靈活的策略配置
-
策略配置自動更新
-
高效率日誌緩衝處理
Koala 工作機制
Koala 內部結構
Koala 服務,是單進程,多線程,多協程(goroutine)結構模式。
開源項目地址:https://github.com/heiyeluren/koala
開源項目作者:heiyeluren
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/vkjBF6NlMPsdZGz8GnX1vQ