標籤:

支付平台系統優化方法

支付平台系統優化方法

來自專欄 支付平台

性能優化一般來講有三個層次:

● 系統層次

● 演算法層次

● 代碼層次

性能優化一般遵循如下幾個規則:

規則1】不要一味地追求程序的效率,應當在滿足正確性、可靠性、健壯性、可讀性等質量因素的前提下,設法提高程序的效率。

規則2】以提高程序的全局效率為主,提高局部效率為輔。

規則3】在優化程序的效率時,應當先找出限制效率的「瓶頸」,不要在無關緊要之處優化。

規則4】先優化系統架構,再優化數據結構和演算法,再優化執行代碼。

規則5】有時候時間效率和空間效率可能對立,此時應當分析那個更重要,作出適當的折衷。例如多花費一些內存來提高性能。

規則6】不要追求緊湊的代碼,緊湊的代碼並不一定能產生高效的機器碼。

常見的系統層次的優化有如下方法:

?集群與負載均衡

?讀寫分離、分表分庫

?消息匯流排

?動靜分離

?CDN

?Nosql、緩存

接下來講講支付平台的系統優化:

?集群與負載均衡

我們採用的微服務方式來實現,所有的微服務我們都是無狀態的,都是可以橫向擴展的,無單點故障。這樣單台機器出問題基本不會影響,如果系統並發量上去後我們可以及時的去擴容。

?讀寫分離、分表分庫

支付數據根據不同業務線來分庫,一個業務線一個資料庫,這樣的話減少了資料庫層面的壓力。

?消息匯流排

消息匯流排的好處多多,首先流程非同步化,調用者發送消息即可,無需等待消息處理完畢,其次可以有效削峰,降低伺服器壓力。結算完成流程我們就是採用的消息匯流排方式,結算完成後交易系統推送結算完成消息給清算系統,清算系統再去更新用戶餘額。

?動靜分離

所謂的動靜分離,就是將 Web 應用程序中靜態和動態的內容分別放在不同的 Web 伺服器上,有針對性的處理動態和靜態內容,從而達到性能的提升。

?CDN

所謂的 CDN,就是一種內容分發網路,它採用智能路由和流量管理技術,及時發現能夠給訪問者提供最快響應的加速節點,並將訪問者的請求導向到該加速節點,由該加速節點提供內容服務。利用內容分發與複製機制,CDN 客戶不需要改動原來的網站結構,只需修改少量的 DNS 配置,就可以加速網路的響應速度。

?Nosql、緩存

常見的場景都是讀比寫的數量大很多,這時候我們可以使用緩存,如果緩存中有數據直接從緩存中取數據,緩存中沒數據時才從資料庫中讀取。我們這邊不管交易數據還是訂單數據,都用到了redis緩存來提高性能。對於數據量非常大的對賬信息,我們採用hbase來存儲。
推薦閱讀:

Apple Pay 要進入中國的話需要與哪些監管部門或行業進行溝通?
支付平台正確性保證
手機支付分為兩塊:一是日常生活買東西的手機一卡通類似的支付,前些時銀聯已經完勝移動。另一個是手機軟體支付。可以理解成一個是近支付,一個是遠支付嗎?
區塊鏈四大「殺手級」應用:暗網和黑市交易、數字黃金、支付、標記化
中美移動支付發展差異在哪裡? NFC和二維碼支付哪種前景更好?

TAG:支付 |