精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

使用微服務架構(gòu)重構(gòu)支付網(wǎng)關(guān)

開發(fā) 開發(fā)工具
本文簡單介紹了支付網(wǎng)關(guān)重構(gòu)的過程,以及如何使用微服務設計模式。

是微服務重構(gòu)支付系統(tǒng)的系列文章。 之前的文章請參考:

在支付系統(tǒng)改進中,我們對原有系統(tǒng)做了整體的評估,選擇支付網(wǎng)關(guān)作為入手點來進行微服務架構(gòu)的改進。這里詳細介紹我們針對該模塊的改進過程,供參考。

原有系統(tǒng)情況

早期啟動的時候,對接的支付渠道不多,所有支付渠道和支付網(wǎng)關(guān)都實現(xiàn)在一個項目中,部署在一起。其中支付網(wǎng)關(guān)是整個項目的核心和入手點。它為各個業(yè)務方提供支付全流程的調(diào)用接口,簽約、代扣、支付、驗證,都是通過這個接口來實現(xiàn)的。整個系統(tǒng)使用SSH框架,架構(gòu)如下:

整個系統(tǒng)使用SSH框架

業(yè)務流程如下:

  1. 當接口被調(diào)用時, 首先執(zhí)行參數(shù)校驗,確認輸入的參數(shù)的合法性,驗證參數(shù)簽名是否正確。確認過程包括調(diào)用賬戶、用戶、支付方式、路由等服務來驗證用戶ID、賬戶、支付卡號、支付金額等參數(shù)。
  2. 根據(jù)輸入的支付方式,調(diào)用支付路由服務,獲取對應的支付渠道。
  3. 調(diào)用風控接口進行驗證,如果有交易風險,則阻斷本次交易。
  4. 生成交易記錄;
  5. 調(diào)用支付渠道提供的服務執(zhí)行支付。
  6. 根據(jù)支付結(jié)果,更新訂單狀態(tài);
  7. 通知商戶訂單執(zhí)行結(jié)果。

在實現(xiàn)上,原有系統(tǒng)實現(xiàn)的類結(jié)構(gòu)圖如下:

原有系統(tǒng)實現(xiàn)的類結(jié)構(gòu)圖

  1. 采用SSH架構(gòu),支付網(wǎng)關(guān)實現(xiàn)為一個大Apache Struts Action類,和支付相關(guān)的所有業(yè)務邏輯都實現(xiàn)在一個項目中。
  2. 支付網(wǎng)關(guān)承載大量的功能,實際上,它是將API網(wǎng)關(guān)和業(yè)務邏輯都混在在一起實現(xiàn)。 簽約、支付、代扣、驗證,都在這一個類中實現(xiàn),代碼行數(shù)超過1000行,邏輯十分復雜。
  3. 除了風控是進程外調(diào)動,其他的服務都是進程內(nèi)調(diào)用,通過springframework來管理各個service。
  4. 最終落地調(diào)用的支付渠道,是通過抽象的接口來對網(wǎng)關(guān)封裝渠道的差異。

微服務六種設計模式

在這個系統(tǒng)中對接了有30多個渠道,類規(guī)模達到2000個。隨著業(yè)務發(fā)展,問題越來越多。高峰期同時有5個渠道在并行開發(fā),還有大量的其他渠道對接問題需要修復。多個人同時修改一個項目代碼導致版本控制的工作驟增。上線頻發(fā)引起服務中斷也讓業(yè)務方很不滿。對支付網(wǎng)關(guān)的改進是一個循序漸進的過程。這里參考Arun Gupta的微服務六種設計模式,來描述我們所做的改進。

新網(wǎng)關(guān)設計 (Chain Pattern)

為了分解舊網(wǎng)關(guān)的功能, 我們設計了新的網(wǎng)關(guān)。在處理流程上,將其分為三個步驟,采用的是chain模式。

chain模式

鏈式模式,如上圖所示,它調(diào)用服務A來獲取結(jié)果,而服務A是通過服務B來交互,B則會和C有交互。 整個過程類似同步的HTTP請求、響應處理。 這其中每個階段的調(diào)用,都是阻塞式的同步調(diào)用。每一步都會增加一些業(yè)務邏輯處理。

原支付網(wǎng)關(guān)難以維護的一個重要原因是其所承載的功能過多。我們首先根據(jù)用戶的使用場景,將支付網(wǎng)關(guān)承載的功能,按照支付產(chǎn)品來進行切分。 支付產(chǎn)品包括快捷支付、網(wǎng)銀支付、外卡支付等。 不同的產(chǎn)品,其對應的操作所使用的參數(shù)和流程也不一樣。以快捷產(chǎn)品為例, 新網(wǎng)關(guān)接收到請求后,根據(jù)用戶所選擇的支付類型,分發(fā)到快捷支付產(chǎn)品接口。快捷支付產(chǎn)品接口調(diào)用工行借記卡通道來執(zhí)行支付,通道最終落地到工行接口的調(diào)用來實現(xiàn)支付。 支付操作完成后,工行接口通知到通道,通道通知到產(chǎn)品,最終逆向傳遞到網(wǎng)關(guān)接口,并最終發(fā)送給調(diào)用方。 在這里面,支付網(wǎng)關(guān)負責分發(fā)、驗簽等基本功能,支付產(chǎn)品負責參數(shù)校驗、路由、生成交易記錄等功能。最終的支付操作是落地到支付渠道去執(zhí)行。

網(wǎng)關(guān)拆分(Proxy Pattern)

如上所述,支付網(wǎng)關(guān)按照使用場景進行拆分。我們采用完善一個、接入一個的原則,在保留舊網(wǎng)關(guān)的功能的同時,開發(fā)完善新的網(wǎng)關(guān)和支付產(chǎn)品。等所有流量都打到新網(wǎng)關(guān)上去之后,舊網(wǎng)關(guān)就直接廢棄了。為了達到這個目標,我們引入了代理模式:

代理模式

代理模式和聚合模式類似,不同點在于,它會根據(jù)業(yè)務邏輯需要僅選擇一個微服務來調(diào)用。微服務中,我們經(jīng)常會用代理模式來構(gòu)建API網(wǎng)關(guān)。

我們首先按照所支持的支付方式,對支付網(wǎng)關(guān)做分解,拆分為為網(wǎng)銀、快捷、話費、賬戶、外卡、虛幣等支付產(chǎn)品。新網(wǎng)關(guān)接口模塊是一個proxy,本身并未實現(xiàn)任何業(yè)務邏輯,它的工作是將用戶請求發(fā)送給合適的支付產(chǎn)品去處理。如果這個產(chǎn)品還沒有實現(xiàn),則將其轉(zhuǎn)發(fā)到老網(wǎng)關(guān)去執(zhí)行。這樣帶來的好處是,我們不需要對老網(wǎng)關(guān)做任何改動。而且,如果某個支付產(chǎn)品在重構(gòu)過程中出現(xiàn)問題,我們可以很快切回到老網(wǎng)關(guān)去。

支付產(chǎn)品 (Aggregator Pattern)

支付產(chǎn)品是對原有支付網(wǎng)關(guān)的業(yè)務流程實現(xiàn)的一個重構(gòu),按照各個支付產(chǎn)品所支持的功能以及流程來簡化原混合在一起的設計。比如快捷支付需要簽約和支付,而網(wǎng)銀支付則不需要簽約。 在支付產(chǎn)品本身的實現(xiàn)上,我們使用的是聚合模式。

聚合模式

聚合是最常見的微服務設計模式,它是一個高層次的微服務組合,供其他服務調(diào)用。 在這種情況下,聚合器會從其他的微服務中收集數(shù)據(jù),做業(yè)務邏輯處理,然后發(fā)布成一個服務終端。其他有需要的服務可以調(diào)用它。 聚合器設計的要點是要遵循DRY(Don’t Repeat Yourself)原則。如果有多個服務需要訪問A,B,C服務,那建議的處理方式是,針對這些使用,提煉一個處理邏輯出來,將A、B、C封裝為一個新的服務,這個服務可以獨立的演化。

支付產(chǎn)品中調(diào)用的各個服務,包括支付方式管理, 支付服務管理,支付路由管理、支付記錄管理等,都被重構(gòu)為微服務,在支付產(chǎn)品的實現(xiàn)中,通過Aggregator 模式進行調(diào)用。

在支付產(chǎn)品的實現(xiàn)流程中,首先需要對參數(shù)進行校驗,校驗成功后,調(diào)用風控檢查該交易是否可以放行。這兩個操作,在處理上可以并行,使用的是分支模式。

分支模式

分支模式是聚合模式的擴展,可以允許同時調(diào)用兩個或者更多的微服務。

分支模式

如上,采用分支模式, 使得數(shù)據(jù)校驗和風控可以并發(fā)執(zhí)行。由于風控相對耗時較長,而訂單中需要校驗的數(shù)據(jù)較多,這兩個操作有必要并發(fā)執(zhí)行。

支付通道 (Aggregator Pattern)

支付路由根據(jù)用戶選擇的支付方式對支付通道進行篩選,選取合適的支付通道。支付產(chǎn)品調(diào)用該通道的接口來最終落地完成支付服務。 每個支付通道對接也被實現(xiàn)為微服務,在支付產(chǎn)品中調(diào)用。

支付通道 (Aggregator Pattern)

通知商戶 (Asynchronous Messaging Pattern)

支付產(chǎn)品執(zhí)行的***一個步驟是通知調(diào)用方支付的結(jié)果。 原系統(tǒng)實現(xiàn)是將這個步驟耦合在原有代碼中,容易受到調(diào)用方接口的穩(wěn)定性的影響。 為此,這里采用異步消息的模式來進行重構(gòu):

通知商戶 (Asynchronous Messaging Pattern)

異步消息一般用于對流程中可以異步執(zhí)行的操作做分解,將它從原流程中分離出來,通過消息機制來異步執(zhí)行。 支付產(chǎn)品在完成支付服務后,發(fā)出消息到訂單消息隊列中。 商戶回調(diào)處理程序接收到消息后,調(diào)用商戶回調(diào)接口告知支付結(jié)果。 此外,風控、BI系統(tǒng)等,也可以使用這個消息來同步訂單數(shù)據(jù)。

總結(jié)

這里簡單介紹了支付網(wǎng)關(guān)重構(gòu)的過程,以及如何使用微服務設計模式。 當然,這里我們也忽略了很多細節(jié),比如支付網(wǎng)關(guān)所依賴的基礎(chǔ)服務的開發(fā)。 最終的支付網(wǎng)關(guān)的架構(gòu),參考《支付網(wǎng)關(guān)設計》一文。這里涉及到的支付路由、支付記錄、支付風控等模塊的設計,后續(xù)也會在本博客中做介紹。 微服務化改造并不難,需要的是對原有系統(tǒng)有深入的了解,然后運用各種模式來拆分,庖丁解牛。拆分的每一步都需要注意,在設計上,需要考慮一旦出現(xiàn)問題即可回滾。

【本文為51CTO專欄作者“鳳凰牌老熊”的原創(chuàng)稿件,轉(zhuǎn)載請通過微信公眾號“鳳凰牌老熊”聯(lián)系作者本人】

戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 51CTO專欄
相關(guān)推薦

2023-06-09 14:46:36

2017-03-06 17:30:11

微服務架構(gòu)系統(tǒng)

2020-06-04 09:24:26

微服務數(shù)據(jù)框架

2017-09-04 16:15:44

服務網(wǎng)關(guān)架構(gòu)

2018-12-12 09:59:47

微服務架構(gòu)分布式系統(tǒng)

2016-11-23 10:56:35

2019-05-28 10:30:16

Java架構(gòu)微服務

2023-07-28 09:23:24

微服務架構(gòu)

2020-10-10 10:37:54

微服務架構(gòu)技術(shù)API

2017-09-09 23:15:20

Spring Clou微服務架構(gòu)路由

2023-04-13 15:04:57

Java微服務架構(gòu)

2022-09-01 08:17:15

Gateway微服務網(wǎng)關(guān)

2021-08-13 07:52:35

微服務網(wǎng)關(guān)數(shù)據(jù)

2019-09-24 08:44:09

OpenrestyAPI網(wǎng)關(guān)

2017-09-15 23:29:53

Spring Clou微服務架構(gòu)過濾器

2023-09-13 16:43:28

網(wǎng)關(guān)微服務架構(gòu)開發(fā)

2023-09-06 08:51:40

2019-08-16 08:41:00

微服務架構(gòu)安全

2024-08-05 10:03:53

2024-10-29 08:44:18

點贊
收藏

51CTO技術(shù)棧公眾號

国产成人高清激情视频在线观看| 在线亚洲免费视频| 日韩激情视频在线| 精品少妇在线视频| 九九精品免费视频| 黄瓜视频成人app免费| 蜜臀精品一区二区三区在线观看| 欧美日韩国产另类不卡| 色乱码一区二区三区熟女 | 亚洲一区二区在线免费观看视频| 色综合久久天天综线观看| av天堂一区二区| 青青久在线视频| 99热在线精品观看| 欧美吞精做爰啪啪高潮| 国产精品香蕉视屏| 亚洲自拍偷拍图| 日韩欧美激情| 99精品视频一区二区三区| 久久视频在线免费观看| 成人在线免费观看av| 国产高潮流白浆喷水视频| 在线视频亚洲欧美中文| 欧美性猛交xxxx黑人猛交| 99视频网站| 中文字幕黄色片| 国内视频在线精品| 一区二区三区日韩| 蜜桃视频成人| 国产精品自拍视频一区| 欧美综合影院| 午夜精品福利在线| 亚洲一卡二卡区| 久久国产视频精品| 亚洲成人99| 欧美在线视频你懂得| 日韩a级黄色片| 黄色片视频在线观看| 在线亚洲伦理| 久久久精品国产| 999精彩视频| 日本免费一区视频| 另类成人小视频在线| 亚洲日韩中文字幕| 欧美成人黑人猛交| 天天操天天干天天爱| 亚洲大胆视频| 亚洲第一页在线| 先锋资源在线视频| 日韩三区免费| 亚洲国产精品综合小说图片区| 国产精品人成电影在线观看| 一本色道久久综合亚洲精品图片| 欧美人与动牲性行为| 韩国精品在线观看 | 香蕉视频911| 影音先锋国产精品| 久久久精品在线| 我不卡一区二区| 国模雨婷捆绑高清在线| 国产精品乱码人人做人人爱| 欧美亚洲丝袜| 真实国产乱子伦对白在线| av中文字幕一区二区| 在线免费精品视频| 日本三级免费观看| 黄色片在线看| 久久久精品免费观看| 91精品久久久久久久| 欧美日韩色视频| 色999国产精品| 国产亚洲激情在线| av女人的天堂| 9999精品视频| 91精品在线免费| 乳色吐息在线观看| 阿v视频在线| 欧美日韩国产麻豆| 99久久久无码国产精品6| 性欧美又大又长又硬| 国产精品毛片久久久久久| 翔田千里亚洲一二三区| www.久久热.com| 中文字幕在线一区二区三区| 影音先锋在线亚洲| 亚洲xxxx天美| 不卡的av网站| 成人www视频在线观看| 中文字幕在线观看国产| 久久久久国产精品一区二区| 亚洲一区www| 五月天精品在线| 午夜日韩电影| 亚洲视频在线观看免费| 中国美女黄色一级片| 欧美影院天天5g天天爽| 亚洲久久久久久久久久久| 99在线视频免费| 亚洲精品tv久久久久久久久久| 欧美日本精品在线| 97久久久久久久| 毛片一区二区三区| 99在线观看| 免费看男男www网站入口在线| 国产网站一区二区| 91免费视频黄| 性爽视频在线| 91精品欧美综合在线观看最新 | 亚洲黄色小说视频| 亚洲精彩视频| 国产91免费看片| 精品人妻少妇嫩草av无码专区| av在线不卡观看免费观看| 国产精品高清在线| www.色日本| 久久精品亚洲精品国产欧美kt∨| 综合一区中文字幕| 蜜桃视频在线网站| 91精品国产日韩91久久久久久| 国产精品99久久免费黑人人妻| www.成人| 国产一区二区三区精品久久久| 欧美日韩免费做爰视频| 亚久久调教视频| av日韩免费电影| av大片在线观看| 2022国产精品视频| 欧美日韩一区二区三区电影| 欧美一区国产| 精品国产伦一区二区三区观看方式 | 中文日产幕无线码一区二区| 91精品中文字幕一区二区三区 | 国产精品美女久久久久高潮| 日本毛片在线免费观看| 榴莲视频成人app| 欧美色成人综合| www.日本xxxx| 另类春色校园亚洲| 欧美成人一区二区三区电影| 你懂得视频在线观看| 在线日韩电影| 亚洲综合中文字幕68页| 欧美尤物美女在线| 91久久人澡人人添人人爽欧美| 欧美日韩激情视频在线观看| 日韩精品中文字幕吗一区二区| 尤物九九久久国产精品的特点 | 欧美性xxxx| www.com日本| 午夜精品久久99蜜桃的功能介绍| 国产精品视频网站| 国产在线网站| 色丁香久综合在线久综合在线观看| 最新版天堂资源在线| 亚洲成人99| 国产成人精品免费视频| 五月婷婷在线观看视频| 午夜成人免费视频| 欧亚乱熟女一区二区在线| 激情另类综合| av资源站久久亚洲| 欧美videossex| 日韩一级片网址| 欧美一区二区三区爽爽爽| 欧美日本中文| 亚洲自拍高清视频网站| av毛片在线看| 日韩精品一区国产麻豆| 免费人成在线观看| 成人午夜短视频| 国内外成人激情免费视频| 超碰公开在线| 日韩一二三四区| 九九热精品在线观看| 国产精品18久久久久久久久久久久 | 26uuu成人网一区二区三区| 精品一区久久久久久| 国内精彩免费自拍视频在线观看网址| 亚洲国产精品中文| 狠狠人妻久久久久久综合| 国产精品久久久久久久久久久免费看| 在线看免费毛片| 美女一区二区在线观看| 欧美最顶级的aⅴ艳星| 国产福利电影在线| 色婷婷久久久亚洲一区二区三区| 99久久人妻无码中文字幕系列| 99精品99| 欧美一区二区三区精美影视| 欧美一级做一级爱a做片性| 国产亚洲精品激情久久| 亚洲一线在线观看| 国产999精品久久久久久 | 国语对白精品一区二区| 激情一区二区三区| 精品无人乱码一区二区三区 | 久久精品99国产| 日韩电影免费网站| 91精品婷婷国产综合久久蝌蚪| 91九色porn在线资源| 亚洲免费伊人电影在线观看av| 在线观看免费观看在线| 艳妇臀荡乳欲伦亚洲一区| 午夜欧美视频在线观看| 国产高清999| 亚洲激情不卡| 欧美成人一区二区在线| 视频欧美精品| 91黑丝高跟在线| 奴色虐av一区二区三区| 国产精品 欧美精品| av女优在线播放| 欧美手机视频| 国产精品视频福利| 国产在线|日韩| 日韩在线视频观看| 精品国产99久久久久久宅男i| 亚洲va中文字幕| 岛国片在线免费观看| 成人网在线播放| 九一精品在线观看| 欧美福利在线播放网址导航| 国产精品啪视频| 高清在线视频不卡| 久久精品视频在线| 日本在线视频1区| 欧美日韩国产天堂| 亚洲 欧美 成人| 一级女性全黄久久生活片免费| 熟女俱乐部一区二区| 激情一区二区| 宅男在线精品国产免费观看| 神马久久影院| 情事1991在线| 欧美hdxxxxx| 精品国产一区二区在线| 在线播放国产视频| 伊人电影在线观看| 亚洲视频在线免费看| 日韩一卡二卡在线| 欧美一区在线视频| 亚洲天堂中文网| 在线亚洲欧美专区二区| 国产精品人人人人| 黄色精品在线看| 牛夜精品久久久久久久| 国产精品一级| 成人免费观看cn| 在线日本成人| 国产乱淫av片杨贵妃| 欧美 日韩 国产一区二区在线视频| 日韩欧美三级电影| 蜜桃视频欧美| 国产精品av在线| 69久成人做爰电影| 久久99国产精品久久久久久久久| 国产九九在线| 国产一区二区三区在线观看视频 | 国产精品边吃奶边做爽| 国产九色精品成人porny| 亚洲一区二区三区观看| 日本不卡视频在线观看| 婷婷丁香激情网| 日韩激情一二三区| 五月婷婷丁香综合网| 免费在线观看日韩欧美| 99热一区二区| 久草精品在线观看| 国产野外作爱视频播放| 国产精品婷婷| 日日碰狠狠躁久久躁婷婷| 日日夜夜精品视频免费| 超碰在线人人爱| 九九视频精品免费| 性生活一级大片| 成人一级片在线观看| 波多野结衣先锋影音| 午夜在线视频观看日韩17c| 成年网站在线免费观看| 日本亚洲三级在线| 欧美精品 - 色网| 岛国精品在线播放| 中文字幕一区二区人妻在线不卡| 国产日产精品1区| 国精产品一区一区| 亚洲午夜精品网| 国产免费一级视频| 欧美91在线|欧美| 5278欧美一区二区三区| 性欧美1819sex性高清| 成人激情视频网| 精品无人区一区二区| 日韩福利在线| 日韩久久精品| 视色,视色影院,视色影库,视色网 日韩精品福利片午夜免费观看 | 牛牛影视精品影视| 精品国偷自产在线视频| 狼人综合视频| 国产精品一二三视频| 91免费精品国偷自产在线在线| 蜜桃精品久久久久久久免费影院| 日韩欧美1区| 久久av综合网| 日日摸夜夜添夜夜添精品视频 | 91嫩草国产线观看亚洲一区二区| 成人av蜜桃| 美女久久久久| 粉嫩av一区二区三区天美传媒 | 超碰免费在线观看| www.日韩av.com| 国模私拍一区二区国模曼安| 国产精品中文在线| 欧美三级午夜理伦三级小说| 亚洲一二三区在线| 国产精品尤物| 红桃视频一区二区三区免费| www国产亚洲精品久久麻豆| 草草影院第一页| 一区二区欧美国产| 日韩乱码一区二区三区| 亚洲第一福利视频| 黄网站免费在线播放| 日本高清久久天堂| av一级久久| 日韩欧美一区二区视频在线播放| 国产精品草草| 天天干天天色天天干| 中文字幕免费不卡在线| 中文字幕在线日本| 亚洲欧美国产视频| 亚洲同志男男gay1069网站| 国产精品日本一区二区| 欧美另类女人| 337p日本欧洲亚洲大胆张筱雨| 亚洲欧洲日韩综合一区二区| 一区二区三区在线免费观看视频| 亚洲香蕉成人av网站在线观看| 韩日精品一区二区| 欧美日本国产精品| 爽爽淫人综合网网站| 国产美女精品久久| 日本久久精品电影| 福利视频在线导航| 国产精品成人av性教育| 欧美日韩激情在线一区二区三区| 国产v亚洲v天堂无码久久久| 国产午夜精品福利| 亚洲视频在线观看一区二区| 主播福利视频一区| 欧美亚洲人成在线| 日韩第一页在线观看| 国产精品中文欧美| 久一视频在线观看| 亚洲国产精品大全| 91精品产国品一二三产区| 日本精品视频一区| 精品一区二区在线视频| 三级影片在线看| 亚洲高清一二三区| 亚洲国产福利| 亚洲高清视频一区| 国产一区在线观看视频| 久久久精品国产sm调教| 亚洲精品suv精品一区二区| 成人免费直播| 亚洲一区二区三区免费观看| 国产精品99久久久| 日韩手机在线观看| 中文字幕成人在线| av在线国产精品| 噜噜噜久久亚洲精品国产品麻豆| 久久久精品综合| 亚洲一卡二卡在线| 久久久久久久网站| 国产欧美一区| 亚洲五月激情网| 天天综合色天天综合| 国产h在线观看| 草莓视频一区| 日韩中文字幕区一区有砖一区 | 精品久久久久人成| av在线播放网| 成人免费视频网站| 麻豆精品网站| 伊人久久久久久久久久久久久久| 一区二区三区精密机械公司| 熟妇人妻av无码一区二区三区| 国产精品v日韩精品| 欧美福利视频| 天堂久久精品忘忧草| 欧美一区二区视频观看视频| 女厕盗摄一区二区三区| 偷拍盗摄高潮叫床对白清晰| 91一区二区三区在线播放| 在线免费av片| 91av网站在线播放| 欧美精品首页| 精品手机在线视频| 日韩精品极品毛片系列视频| 精品999日本久久久影院|