01 風(fēng)控業(yè)務(wù)痛點(diǎn)
今天,我們主要圍繞以下五個風(fēng)險控制點(diǎn),詳細(xì)講解處理方案。
介紹
什么是 1.
它是一個基于 Nginx 和 Lua 的高性能 Web 平臺,集成了大量復(fù)雜的 Lua 庫、第三方模塊和大部分依賴項。它用于輕松構(gòu)建能夠處理超高并發(fā)和可擴(kuò)展性的動態(tài) Web 應(yīng)用程序、Web 服務(wù)和動態(tài)網(wǎng)關(guān)。
2. 為什么使用
大部分用于業(yè)界的流量接入網(wǎng)關(guān),如K8S。比如開源的Kong等優(yōu)秀的網(wǎng)關(guān)都是基于實(shí)現(xiàn)的。我們不僅會作為網(wǎng)關(guān)來承擔(dān)業(yè)務(wù)流量,還會將其用于業(yè)務(wù)邏輯開發(fā)。
3. 優(yōu)點(diǎn):
4. 出色的 GC 性能
在線性能截圖顯示:p50(綠線)一般為2-3ms,比較穩(wěn)定。P90(黃線)高5-6ms,p99比p90高2-3ms,不多。從圖中可以看出沒有大的GC抖動,也沒有大的延遲。解決風(fēng)控系統(tǒng)低延遲的業(yè)務(wù)痛點(diǎn)。
03 風(fēng)控查詢裂變
1. 典型金融風(fēng)控查詢邏輯
使用調(diào)用內(nèi)部接口,性能消耗更低,類似于調(diào)用C函數(shù)的性能。使用調(diào)用外部接口,支持多種連接方式。解決風(fēng)控系統(tǒng)業(yè)務(wù)邏輯復(fù)雜的痛點(diǎn)。
2. 的 &
:
對于沒有依賴關(guān)系的 step1、step2、step3 查詢,可以進(jìn)行并發(fā)查詢。
:
04 快速響應(yīng)新攻擊方式:腳本熱加載
1. 腳本熱加載
部署實(shí)現(xiàn)服務(wù)過濾和存儲策略(例如,如果超過3個用戶登錄到同一設(shè)備,攔截或重新認(rèn)證)。策略配置平臺調(diào)用 Lua 腳本生成器,將生成的 Lua 腳本編寫好,然后下發(fā)指令。整個過程無需重啟,指令實(shí)時生效。解決風(fēng)控系統(tǒng)策略快速變化的痛點(diǎn)。
可以配置灰度發(fā)布或預(yù)發(fā)布。您可以發(fā)送指令在其中一個進(jìn)程中運(yùn)行新策略,并使用在線真實(shí)流量測試策略是否生效。
可以支持離線數(shù)據(jù)播放。將離線歷史數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫,進(jìn)行歷史數(shù)據(jù)回放,查看策略執(zhí)行效果。
2. 動態(tài)腳本配置背景
選擇API,選擇or一個用戶,填寫Lua腳本下載風(fēng)控軟件,點(diǎn)擊生成配置。點(diǎn)擊發(fā)布后居中生效,可選擇全屏發(fā)布或灰度發(fā)布。05 自動熔斷和快速恢復(fù)
1. 自動斷路器恢復(fù)系統(tǒng)
如果風(fēng)控系統(tǒng)被超過預(yù)期的攔截意外傷害,需要盡快自熔。
進(jìn)入斷路器系統(tǒng)后,進(jìn)入不同的后端服務(wù)。如果出現(xiàn)異常情況,導(dǎo)入流量,只接收流量,放行。使用 , , 監(jiān)控業(yè)務(wù)。配置斷路器策略的導(dǎo)入。當(dāng)達(dá)到熔斷器閾值時,它會在二級響應(yīng)中發(fā)送一條將流量切換到它的指令。在灰度發(fā)布中,可以融合發(fā)布的服務(wù)流程。
2. 自動斷路器恢復(fù)系統(tǒng)
在一個2節(jié)點(diǎn)的集群中,18點(diǎn)17分,手動觸發(fā)了節(jié)點(diǎn)異常,節(jié)點(diǎn)請求迅速下降到0,一段時間內(nèi)沒有請求,中間只有一些探測流量。18時30分,服務(wù)開始恢復(fù),流量開始上升,恢復(fù)正常流量。給風(fēng)控系統(tǒng)多一層保護(hù)。
06 單體應(yīng)用或微服務(wù)
1. 單體與微服務(wù)
① 單一申請
單片機(jī)應(yīng)用優(yōu)勢:
單體應(yīng)用的缺點(diǎn):
② 微服務(wù)
微服務(wù)的優(yōu)勢:
微服務(wù)的缺點(diǎn):
2. 是基于“微服務(wù)”的
和Ngix類似,每個接口都是一個,將相關(guān)的邏輯服務(wù)(比如業(yè)務(wù)1的邏輯接口)放在一起,打包成一個假想的業(yè)務(wù)邏輯塊1。把不同的業(yè)務(wù)打包成業(yè)務(wù)邏輯塊2、3、4。不同的業(yè)務(wù)邏輯塊可以運(yùn)行在同一個端口上,通過內(nèi)部調(diào)用實(shí)現(xiàn)內(nèi)部微服務(wù)調(diào)用。如果需要按業(yè)務(wù)劃分,比如and,可以通過接口調(diào)用,節(jié)省網(wǎng)絡(luò)時間和cpu網(wǎng)絡(luò)調(diào)度,如果需要數(shù)據(jù)共享,可以通過進(jìn)程間內(nèi)存進(jìn)行共享,比如通過redis、管道、訂閱發(fā)布。這樣,單機(jī)就可以實(shí)現(xiàn)類似的分布式模式。
優(yōu)勢:
缺點(diǎn):一個實(shí)例掛了,所有的業(yè)務(wù)邏輯都掛了。
07水平分割與垂直分割
水平分割是按邏輯層。不同的業(yè)務(wù)是垂直分割的,但會共享一些數(shù)據(jù)。
設(shè)備指紋產(chǎn)品系統(tǒng)架構(gòu)演進(jìn)
1. 設(shè)備指紋產(chǎn)品架構(gòu) V1
有網(wǎng)關(guān)、服務(wù)器、數(shù)據(jù)庫、消息傳遞。
2. 設(shè)備指紋產(chǎn)品架構(gòu) V2
藍(lán)色部分是從 V1 中的內(nèi)容繼承而來的,其他是 V2 中的新內(nèi)容。取而代之的是 Pika,因?yàn)樾阅芨?。水平和垂直分割是可能的。Kafka和右邊是分析模塊,日志采集是穩(wěn)定性保證模塊。
09 下一代軟件架構(gòu)網(wǎng)格
1. 設(shè)備指紋產(chǎn)品架構(gòu) V3 Mesh?
2. 設(shè)備指紋產(chǎn)品架構(gòu) V3
特權(quán)代理(agent),具有root權(quán)限,fork一個功能進(jìn)程下載風(fēng)控軟件,與其他進(jìn)程交互,請求數(shù)據(jù)等,與其他進(jìn)程交互也很方便,比如共享內(nèi)存,信號量實(shí)現(xiàn)不同的數(shù)據(jù)通信。
10 我的建筑師見解
從 ToB 的角度來看:
懂業(yè)務(wù)+懂技術(shù)+懂客戶=合格架構(gòu)師
學(xué)習(xí)減法比學(xué)習(xí)加法更有用
高性能、高可用、易擴(kuò)展、低成本要牢記,讓產(chǎn)品無后顧之憂