POST TIME:2018-12-03 21:40
筆者近期負(fù)責(zé)提升支付渠道的可用性,做完后有些想法,寫出來和大家分享下。
需求的源頭用戶在進(jìn)行支付時,有時候會出現(xiàn)銀行系統(tǒng)不成用、超時情況,導(dǎo)致用戶不知道明確的支付結(jié)果,那么用戶80%會進(jìn)行投訴,客服處理完后,這個用戶就基本上和支付/電商平臺說再見了。
要滿足上面的需求,我們就需要關(guān)注以下幾個問題:
銀行系統(tǒng)出現(xiàn)異常是否能及時進(jìn)行故障隔離?如果要隔離,是否能第一時間發(fā)現(xiàn)銀行系統(tǒng)出現(xiàn)異常?如何判斷銀行系統(tǒng)出現(xiàn)了異常,異常的原因是什么?其實這三個問題對應(yīng)的解決方案很明確:
Q1——我們需要一個路由系統(tǒng)Q2——我們需要一個監(jiān)控系統(tǒng)Q3——我們需要一個錯誤碼表在產(chǎn)品設(shè)計過程中,我們根據(jù)Q3 → Q2 → Q1這種自下而上的方法去進(jìn)行。
產(chǎn)品設(shè)計我們需要一個錯誤碼表一家支付公司或電商平臺接入的銀行渠道都很多,而每家銀行都有本身的錯誤返回規(guī)范。那么,這時候我們就需要將N家銀行返回的錯誤碼進(jìn)行抽象,建立一套錯誤碼表。
渠道錯誤碼分類
錯誤碼的拆分維度有很多種,我是根據(jù)渠道可用——>用戶信息校驗——>交易來分類的;渠道不成用、用戶信息校驗、交易這3個只是大類,還需要針對每個大類進(jìn)行二次拆分,細(xì)分出小類,小類分的越細(xì),遇到問題定位的也就越快,同時對接下來的兩步也就更有幫手。
我們需要一個監(jiān)控系統(tǒng)對于監(jiān)控系統(tǒng),存在著一些基本要求:
監(jiān)控的對象要具體,最好能細(xì)分;監(jiān)控的指標(biāo)要足夠明確,每一個獨立指標(biāo)的計算方式要簡單;監(jiān)控指標(biāo)要有時效性。那么,針對支付渠道的監(jiān)控系統(tǒng),監(jiān)控的對象應(yīng)該要具體到所有接入的銀行渠道;監(jiān)控指標(biāo)要對每個銀行進(jìn)行個性化定制,因為每家銀行的系統(tǒng)性能都紛歧樣;
監(jiān)控指標(biāo)設(shè)定的維度也很多,因為渠道在整個支付鏈路的底層,對系統(tǒng)層面要求比較高,所以監(jiān)控的指標(biāo)如下:
每個渠道調(diào)用的平均耗時每個渠道調(diào)用的系統(tǒng)成功率每個渠道調(diào)用的耗時峰值每個渠道調(diào)用的異常訂單數(shù)監(jiān)控指標(biāo)的時間跨度建議按照業(yè)務(wù)量來設(shè)置,一般采用秒級或者分級;監(jiān)控指標(biāo)定義好后,我們就要為每個渠道設(shè)置告警規(guī)則,這些規(guī)則的閥值需要按照日常的交易情況和每個渠道自身的屬性進(jìn)行獨立設(shè)置;而規(guī)則的觸發(fā)就要依靠渠道錯誤碼表了。
這樣,監(jiān)控系統(tǒng)就可以在某個渠道出現(xiàn)問題時,按照錯誤碼表來分析當(dāng)前的異常屬于哪一類,,是否影響到用戶的正常支付,如果影響了,就會發(fā)出告警。
我們需要一個路由系統(tǒng)一個支付產(chǎn)品最終于能讓用戶順利的&愉快的完成支付;而讓用戶順利的完成支付依賴于出現(xiàn)異常的通道。
能否被及時的隔離掉,同時能否將用戶帶到可以正常支付的通道上,路由功能做的就是這件事情。
為此,我們也需要在路由系統(tǒng)中對每一個渠道設(shè)立一個路由規(guī)則;這個規(guī)則將告訴路由系統(tǒng)當(dāng)渠道出現(xiàn)問題時,該如何隔離。
路由規(guī)則的設(shè)定有一種比較簡單的方法:渠道A在{num}分鐘內(nèi)觸發(fā)了{num}次告警,那么就執(zhí)行渠道隔離(關(guān)閉或者切換)的動作。
這樣在通道出現(xiàn)問題時就可以及時隔離掉,保證用戶正常的支付了。
結(jié)語我們可以把支付渠道可用性看作一個大的系統(tǒng),這個大系統(tǒng)是由3個獨立的小系統(tǒng)組成的;它是一個自下而上的,閉環(huán)的體系;引用《失控》中的思想,一個復(fù)雜的系統(tǒng)是由若干個獨立的小系統(tǒng)協(xié)同合作組成的,每個小系統(tǒng)越簡單,它們組合在一起后,就能展現(xiàn)出更強(qiáng)大的組織性和發(fā)展性。
目前只是建立了一個最原始的生態(tài),還存在著部分的人工干預(yù),那么后期我們就要考慮,現(xiàn)在人做的事情,機(jī)器能不能做;我們能不能在用戶提交支付之前就幫Ta選擇好最適合的支付渠道。