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

對SSH框架系統進行微服務改進

開發 開發工具
這篇文章從縱向詳細介紹如何對SSH框架的支付系統實施具體的技改。這里不涉及具體代碼寫法,重點在于說明方法論。雖然以SSH(Apache Struts + Springframework + Hibernate) 框架為例,也適合各種常用的web架構 (Apache Struts/Spring MVC / Apache Velocity + Springframework + Mybatis/Hibernate) 。

本文假定你已經閱讀過之前的文章:

  • 為什么要重構到微服務
  • 重構中的外部準備工作
  • 重構中的內部準備工作
  • 使用微服務架構重構支付網關

上一篇文章使用微服務架構重構支付網關是從橫向的角度來分析如何分解服務以及建立微服務之間的關系。這篇文章從縱向詳細介紹如何對SSH框架的支付系統實施具體的技改。這里不涉及具體代碼寫法,重點在于說明方法論。雖然以SSH(Apache Struts + Springframework + Hibernate) 框架為例,也適合各種常用的web架構 (Apache Struts/Spring MVC / Apache Velocity + Springframework + Mybatis/Hibernate) 。

選取入手模塊

如果遺留系統規模龐大,那應該如何挑選入手點?以支付系統為例,如前文所述,支付系統一般包括賬戶,交易,訂單,優惠券,錢包,支付渠道,清結算,支付網關,運營系統等模塊。模塊很多,如何選擇突破點? 我們采取的方法是尋找對外依賴最小的模塊,由此開始調整。 首先模塊依賴關系整理出來。

從上圖可以看出來,賬戶系統在依賴樹中是處于樹根的位置,對它的調整相對容易。只要保持對外接口不變即可。

 

 

重構策略

重構如同飛行中更換引擎,必須非常小心,我們采取的策略是:小步快跑,積小勝為大勝。

  • 每一個改進點,需在1~3天內完成,不能超過一個周。
  • 每次改進,均可直接上線運行,不需要長時間的AB測試。

在功能也就是對外接口不變的前提下,開始進行拆分工作。 在結構上,原SSH系統是一個大項目,所有代碼分層分模塊堆在一起。微服務系統需要將它們拆分。直觀的拆分方法是按層,按模塊同構的拆分成各個獨立運行和維護的系統。由此帶來了一系列的調整。在SSH架構下,重構可以采用自上而下的方法進行,這樣可以確保每一層的重構都有明確的輸入輸出,并且是可測試的。

整體上,重構分為三個步驟:

 

 

  1. 參考原有系統的DAO層和業務邏輯層,實現基礎服務,一般是使用RPC來實現.
  2. 將對外的接口層進行重構,調整為調用RPC服務。
  3. 將原有服務切一部分流量到新服務上進行試運行。
  4. 試運行成功,全部流量都切過來。 舊服務廢棄。

API網關

在SSH架構下,對API網關一般是通過NGINX的rewtite模塊來實現,邏輯簡單,人工維護即可。而一旦接口層按照業務來拆分后,網關路由邏輯復雜多了,通過人工維護配置文件難度激增,需要調整成自動注冊更新路由的方式。也就是每個服務需要將自己提供的服務和API注冊到API網關上, API網關需要自動識別并加載新的路由。

針對這個需求,我們開發了一個connector, 其工作原理如下:

  • 服務在啟動完成后,注冊到zookeeper上。
  • connector監聽 zookeeper,一旦有變更,則獲取服務列表,更新nginx.conf文件
  • connector在更新完成nginx.conf文件后,執行nginx的reload命令,讓配置生效。
  • load balancer 將服務打到nginx上,nginx可以按照新配置來執行服務路由。

在服務關閉時,執行類似的操作。第一步是在服務關閉前,將服務從zookeeper上刪除。注意必須在服務關閉前刪除,否則會發生服務不可用的錯誤。 服務注冊項從zookeeper上刪除,并且本地服務沒有流量后,才能關閉服務。connector可以和nginx部署在同一臺機器上。

服務接口調整

使用Spring MVC實現的Controller或者使用Apache Struts實現的Action,需要按照業務進行組合,拆分到具體項目中,原則上,一個項目不應該有超過5個接口,避免接口過于復雜。本次調整需要做的工作包括:

  • 增加服務注冊機制,在服務啟動時將服務注冊到zookeeper上;
  • 增加服務退出機制,在服務關閉時將服務解除注冊;
  • 將服務按照業務組合,建立對應的項目;
  • 將服務依賴的業務邏輯層打包到同一個jar中,作為后續改進的基礎。
  • 服務上線,替換掉現有的服務。

業務邏輯層調整

在springframework框架下,業務邏輯層被實現為服務層和DAO層之間的橋梁。 對于絕大多數應用來說,業務邏輯層都是非常薄的一層封裝,調整為微服務架構下,業務邏輯層有三種處理方式:

  • 抽象為獨立的RPC服務,對于功能比較復雜業務邏輯,可以使用這種方式。
  • 下沉到DAO層,如果邏輯上涉及數據訪問操作多,或者需要事務處理的,可以合并到DAO中,一同實現為RPC。
  • 上浮到接口層。如果業務邏輯比較簡單,也可以上浮。

DAO層的重構

DAO層的重構的工作量比較大。 需要將原來訪問數據庫的邏輯,調整為遠程RPC調用:

針對DAO的接口,開發RPC服務,將數據訪問邏輯通過RPC來隔離;

提供DAO的RPC接口客戶端,替換原DAO服務接口的實現。

這樣在業務邏輯層和服務層中調用的DAO,調整為RPC調用,將數據訪問邏輯和業務邏輯分離。這樣在DAO層就可以根據業務需要選用合適的存儲數據庫。

性能優化

1.完成上述調整,這才是萬里長征走完的第一步。接下來就是碼農們最心愛的性能優化了。 對于大部分線上應用來說,性能優化主要的工作是選擇合適的存儲介質來滿足性能的需求。

2.數據可以直接寫入MySQL或者其他的持久化存儲。這個庫也會被稱之為主庫。但是如果寫入性能要求高,可以調整為先寫入內存數據庫,再同步到持久化存儲中。

3.線上數據訪問,指根據ID或者其他的某個屬性值來讀取1-2條數據。一般不要直接從MySQL等持久化存儲中出,需要采用couchbase,redis等內存數據庫。

4.線上數據檢索,檢索和訪問需要分開。按照關鍵字、時間等條件的檢索,一般用Elastic來滿足。

線上數據列表,如最新、最熱、推薦等,都需要將數據預先計算好,放在couchbase或者redis等內存數據庫中,讀取的時候直接從庫中出數據,不能執行實時計算。

通過這幾個步驟,就可以優化線上服務的性能,最終呢,瓶頸應該不是在數據庫或者CPU上,而是在帶寬上。 那這就是砸錢的商務行為了。 這樣處理,帶來的最大的問題是空間浪費,是典型的以空間換時間的做法。 技術上的挑戰,那就是數據一致性問題。 對于一致性要求不強的需求,這個做法是沒問題的。 那如何在不同存儲之間同步數據呢?主要的做法有:

5.使用數據庫本身自帶的同步機制。好處是一般不需要開發,問題是數據庫的同步機制,如MysQL、HBase的replication機制,僅支持少數類型的備庫,對數據庫本身也有壓力。

6.使用公共同步工具,如阿里的canal。

7.使用消息中間件來實現數據同步。

采用消息中間件目前主流的做法,適合于對數據實時性要求不高的場景。 如下圖所示,在數據寫入的服務中,完成寫入后,拋出消息。其他數據庫通過接受消息來更新數據。 優點是系統靈活,無論是同DC還是跨DC的情況都可以正常工作。 對數據同步的情況,可以通過MQ提供的監控系統也能夠了解。 缺點是開發工作量大,數據同步實時性不高。

如果時間不夠

上述重構是非常理想的場景了,那如果時間不足,只能部分重構,應該如何處理?一種方式是針對DAO層來改進。 一般來說,重構往往意味著數據結構的變更。另一方面,由于數據寫入的服務相對數據讀取服務要少得多,所以可以采用的策略是:

  1. 調整DAO服務中數據寫入操作,將數據寫入到新的庫表中;
  2. 采用MQ來實現新庫表和老庫表的數據同步。 參見上圖。
  3. 老的DAO服務中數據讀取的操作保持不變。

畢竟大部分的服務并不需要太高的性能需求。 只需要將性能要求高的服務進行重構,實現讀寫分離即可。重構方式如上描述。

總之,技改的難度在于如何梳理出頭緒來。 本文算是拋磚引玉,歡迎大家熱烈討論。

【本文為51CTO專欄作者“鳳凰牌老熊”的原創稿件,轉載請通過微信公眾號“鳳凰牌老熊”聯系作者本人】

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

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2011-08-22 14:38:40

linux服務器分區

2023-03-24 16:18:08

微服務架構

2021-04-14 09:43:57

微服務拆分業務

2021-02-06 17:55:41

微服務Maven版本控制

2023-02-17 18:06:33

微服務架構

2020-11-27 10:50:06

微服務架構框架

2021-03-02 16:25:52

微服務架構技術

2024-11-29 13:37:56

2022-11-09 16:23:17

Python微服務架構

2009-12-07 14:51:57

WCF框架

2022-02-20 22:10:20

微服務框架gRPC

2021-12-02 16:20:17

開源微服務框架

2019-07-12 08:45:07

開源微服務框架

2022-05-02 09:35:55

GNOME 42Linux

2009-12-08 18:08:43

WCF服務

2020-11-13 10:45:44

微服務架構數據

2018-08-01 14:20:11

微服務架構人工智能

2025-01-20 00:10:00

Go語言Kratos

2018-07-03 13:56:37

微服務RPCHTTP

2022-07-08 11:19:29

微服務Java框架
點贊
收藏

51CTO技術棧公眾號

三级黄色片免费看| 在线播放 亚洲| 国产日韩在线免费观看| 欧美gay男男猛男无套| 欧美一区二区福利在线| 日本日本19xxxⅹhd乱影响| 91精彩视频在线播放| 国产精品77777竹菊影视小说| 欧美精品免费看| 日韩人妻一区二区三区| 美女精品久久| 在线观看欧美精品| 成人中文字幕在线播放| av片在线观看永久免费| 久久精品免视看| 国产成人成网站在线播放青青| 波多野结衣理论片| 99国产精品视频免费观看一公开| 日韩中文字幕精品视频| 一级做a爰片毛片| 亚州一区二区| 欧美另类久久久品| 国产裸体免费无遮挡| 成人性生交大片免费看在线播放| 中文字幕中文字幕在线一区| 开心色怡人综合网站| www久久久com| 精品一区二区三区在线视频| 日本在线精品视频| 中文字幕亚洲精品在线| 欧美色123| 久久精品国产亚洲7777| 成人一级片免费看| 欧美日韩黑人| 亚洲人成伊人成综合网久久久 | 亚洲巨乳在线观看| 亚洲av成人无码久久精品老人 | 电影亚洲一区| 欧美性生交大片免费| 国产乱淫av片杨贵妃| 神马午夜伦理不卡| 亚洲九九爱视频| 国产高清精品软男同| 日本视频在线免费观看| 国产精品乱人伦| 一本色道久久综合亚洲二区三区| 成年在线观看免费人视频| 91毛片在线观看| 久久精品日韩| 青青草视频在线免费观看| 91亚洲永久精品| 麻豆视频成人| 狠狠狠综合7777久夜色撩人| 久久精品一区二区三区av| 欧美大陆一区二区| 黄色大片在线免费观看| 国产欧美日韩在线看| 台湾成人av| 免费网站成人| 亚洲精品菠萝久久久久久久| 欧美激情亚洲天堂| 99爱在线观看| 色呦呦国产精品| 爱情岛论坛成人| 日本国产一区| 欧美sm极限捆绑bd| 制服丝袜第二页| 精品国产一区一区二区三亚瑟| 国产一区二区美女视频| 日本裸体美女视频| 欧美日韩国产在线一区| 69av在线视频| www.欧美色| 极品少妇xxxx偷拍精品少妇| 99久久精品免费看国产一区二区三区| 蜜桃在线一区二区| 久久久亚洲欧洲日产国码αv| 欧美一区二区视频在线| av在线1区2区| 一区二区三区日韩精品| 国产超级av在线| 青草综合视频| 亚洲精品videossex少妇| 亚洲黄色免费视频| 欧美 亚欧 日韩视频在线| 韩国国内大量揄拍精品视频| 波多野结衣视频网址| 国产成人精品一区二区三区四区 | 国产稀缺精品盗摄盗拍| 影音先锋亚洲精品| 国产精品女视频| www.精品视频| 欧美国产成人在线| 福利视频免费在线观看| 日韩在线免费| 欧美成人精品福利| 免费黄色在线网址| 99在线观看免费视频精品观看| 国产精品美乳在线观看| 人妻中文字幕一区| 国产精品久久久久影院| 波多野结衣50连登视频| 亚洲一区二区三区在线免费| 国产午夜精品视频免费不卡69堂| 麻豆chinese极品少妇| 视频一区欧美日韩| 国产伦精品一区二区三区四区免费| av黄色在线观看| 精品久久久一区二区| 色婷婷激情视频| 欧美伦理在线视频| 69av视频在线播放| 亚洲国产精品一| 中文字幕在线不卡| 日韩福利视频在线| 精品网站aaa| 久久99精品视频一区97| 中文字幕在线观看你懂的| 91网站在线播放| 女人被男人躁得好爽免费视频| 成人国产一区| 亚洲欧美福利视频| www.国产高清| 成人黄色av电影| 欧洲精品视频在线| www久久久| 精品国产一区二区三区久久狼黑人| 久久久免费高清视频| 成人黄色国产精品网站大全在线免费观看 | 成人福利网站在线观看11| 欧美男男激情freegay| 亚洲成人激情综合网| avtt中文字幕| 国产一区日韩一区| 动漫一区二区在线| 免费av不卡在线观看| 日韩视频在线你懂得| 国产午夜手机精彩视频| 国产一区二区0| 潘金莲一级淫片aaaaa免费看| 亚洲成人a级片| 久久精品视频导航| 国产三区在线播放| 亚洲蜜臀av乱码久久精品蜜桃| 一级黄色片国产| 99精品在线免费在线观看| 国产欧美精品va在线观看| aaa日本高清在线播放免费观看| 在线亚洲欧美专区二区| 国产99在线 | 亚洲| 蜜臀久久久久久久| 亚洲国产一区二区三区在线| 久久精品 人人爱| 亚洲性生活视频| 亚洲天堂aaa| 亚洲欧美日韩国产手机在线| 亚洲成人av免费观看| 国内精品久久久久国产盗摄免费观看完整版 | 久久久国产精品午夜一区ai换脸| 国产精品99久久免费黑人人妻| 中文字幕精品影院| 国产精品一区二区三区免费视频 | 国产美女被下药99| 国产黄大片在线观看画质优化| 日韩三级在线观看| 国产成人在线观看网站| 久久精品视频免费观看| 一区二区免费av| 国产精品s色| 久久草视频在线看| 岛国一区二区| 九九精品视频在线| 天堂资源中文在线| 欧美日韩成人综合在线一区二区| www.99re7| 91免费视频大全| 亚洲欧美在线精品| 欧美破处大片在线视频| 久久综合九色99| 日韩综合av| 992tv成人免费视频| 成人精品一区二区三区校园激情| 欧美人伦禁忌dvd放荡欲情| 久久影院一区二区| 久久久久国产精品人| 黄色片免费网址| 亚洲一区黄色| 日韩最新中文字幕| 亚洲欧美日本伦理| 亚洲www在线| 日韩三级影视| 欧美激情在线观看视频| 国产福利在线看| 亚洲爱爱爱爱爱| 一区二区三区播放| 狠狠久久亚洲欧美专区| 国产97免费视频| 国产女主播一区| 少妇丰满尤物大尺度写真| 三级欧美在线一区| www.成年人视频| 91中文字幕精品永久在线| 国产在线精品一区二区三区| 欧美aaaaaaaa| 日本sm极度另类视频| 黄色美女视频在线观看| www.亚洲成人| 国产一区二区三区福利| 亚洲精品www久久久| 99精品国产99久久久久久97| 色偷偷88欧美精品久久久| 国产香蕉在线视频| 亚洲免费在线电影| 99在线视频免费| www久久精品| 久久久老熟女一区二区三区91| 国产真实乱对白精彩久久| 五月婷婷激情久久| 久久国产精品99国产| 国产精品入口芒果| 亚洲欧美亚洲| 中文字幕人成一区| 青青草综合网| 少妇特黄a一区二区三区 | 91福利在线视频| 亚洲欧美日韩专区| 欧美日韩午夜爽爽| 97精品视频在线看| 亚洲一区不卡在线| 阿v视频在线观看| 久久久999国产| 成人精品一区二区三区免费| 国产视频亚洲精品| 国产免费又粗又猛又爽| 亚洲激情婷婷| 国产精品igao激情视频 | 亚洲国产91色在线| 亚洲av无码一区二区乱子伦| 6080国产精品一区二区| 一二三区中文字幕| 欧美人与z0zoxxxx视频| 91亚洲视频在线观看| 欧美日韩成人综合天天影院| 最近中文字幕av| 精品1区2区3区| 伊人影院中文字幕| 5月丁香婷婷综合| 亚洲AV无码国产精品午夜字幕| 日韩一级二级三级| 午夜精品久久久久久久91蜜桃| 精品免费视频.| 天天干天天爱天天操| 精品视频在线导航| 国产精品毛片一区二区三区四区| 亚洲性xxxx| 黄网站在线播放| 欧美丰满老妇厨房牲生活| 黑人极品ⅴideos精品欧美棵| 韩国欧美亚洲国产| 日韩免费va| 成人网在线免费观看| 蜜桃视频动漫在线播放| 亚洲欧美一区二区三区情侣bbw| 日韩精品系列| 国产香蕉97碰碰久久人人| 97最新国自产拍视频在线完整在线看| 尤物九九久久国产精品的分类| 1024国产在线| 精品中文字幕乱| а√天堂中文资源在线bt| 日本成人精品在线| 欧美亚洲人成在线| www久久99| 亚洲欧洲色图| 亚洲欧美日韩精品久久久| 亚洲精品97| 成人av一级片| 精品在线一区二区三区| jjzz黄色片| 久久久久久久久一| 国产稀缺精品盗摄盗拍| 亚州成人在线电影| 中文av免费观看| 日韩精品一区二| 青青草视频免费在线观看| 久久黄色av网站| 啊啊啊久久久| 成人激情视频在线| 林ゆな中文字幕一区二区| 亚州欧美一区三区三区在线| 欧美二区不卡| 成年人在线观看视频免费| www.亚洲激情.com| 在线观看天堂av| 无码av中文一区二区三区桃花岛| 中文字幕在线观看欧美| 日韩精品免费在线视频| a级网站在线播放| 国产成人亚洲综合| 国产在线播放精品| 黄瓜视频免费观看在线观看www | 北条麻妃在线一区二区| 嗯~啊~轻一点视频日本在线观看| 国产美女被下药99| 九九亚洲精品| 大西瓜av在线| 国产乱码精品一区二区三区av | 欧美视频三区在线播放| 手机看片福利在线| 国产精品自拍一区| 粉嫩av一区二区三区天美传媒 | 无码人妻精品一区二区三区66| 国产精品1024| 国产又粗又长又硬| 色综合久久天天| 成人毛片在线免费观看| 精品国产美女在线| 欧美日韩国产网站| 久久久久天天天天| 亚洲激情婷婷| 少妇熟女视频一区二区三区| ...中文天堂在线一区| 日本中文字幕在线观看视频| 亚洲国产成人久久综合| 色av手机在线| 亚洲一区二区久久久久久| 日韩久久综合| 国产免费视频传媒| 久久久91精品国产一区二区三区| 日韩乱码在线观看| 精品国产乱码久久久久久蜜臀| 麻豆tv在线| 国产一区二区香蕉| 日韩精品不卡一区二区| 午夜肉伦伦影院| 2020日本不卡一区二区视频| 男女视频免费看| 亚洲黄色成人网| 性爽视频在线| 蜜桃精品久久久久久久免费影院| 亚洲大胆在线| 日本69式三人交| 欧美日韩一区二区免费视频| 同心难改在线观看| 欧美在线一区二区视频| 亚洲精品亚洲人成在线观看| 欧美在线观看成人| 久久精品视频一区二区三区| 日韩久久久久久久久久| 色偷偷偷综合中文字幕;dd| 992tv国产精品成人影院| 亚洲人成人77777线观看| 蜜桃精品在线观看| 肉色超薄丝袜脚交69xx图片| 91精品国产综合久久香蕉麻豆 | 欧美在线一区二区三区四| 神马电影久久| 久久99999| 日韩美女视频一区二区 | 隔壁人妻偷人bd中字| 成人激情免费网站| 欧美一级特黄视频| 国产亚洲一区精品| 4438五月综合| 日韩 欧美 视频| 久久一日本道色综合| 中文字幕日本视频| 欧美高清第一页| 日韩最新在线| 三上悠亚在线一区二区| 亚洲欧美一区二区三区极速播放| 亚洲国产视频一区二区三区| 97av在线影院| 日韩国产一区| 亚洲婷婷在线观看| 欧美综合亚洲图片综合区| 超碰人人在线| 久久久久久欧美精品色一二三四| 免费国产亚洲视频| 深夜福利影院在线观看| 日韩精品在线免费观看| 婷婷久久免费视频| 久久99中文字幕| 国产精品三级电影| 五月婷婷伊人网| 国产日韩亚洲欧美| 一区二区高清| 亚洲综合久久av一区二区三区| 精品少妇一区二区三区免费观看 | 精品国产一区二区三区四区vr| 日韩高清一区二区| 久久久久99精品| 在线日韩欧美视频| 精品人人人人| 亚洲天堂av一区二区三区| 欧美午夜激情小视频| 三级资源在线| 一区二区三区视频在线播放| 91片黄在线观看| 精品久久久久成人码免费动漫|