程式碼重構-業務中臺化
摘要
本文主要介紹當隨著業務的不斷髮展,原本一個服務的內容需要抽象出另外的服務,作為中颱服務,提供給各個業務前臺,提高前臺業務開發效率。
業務架構
隨著業務的擴充套件,一個服務的程式碼越來越多,啟動越來越慢,開發的人數越來越多,不得不進行程式碼拆分,早期有些拆分是按分層拆分,將data,dao層拆分成公共jar,然後很多服務呼叫,結果導致的就是後期無法維護,業務增長了,分屬於不同的開發組了,本來每個開發組的職責都是內斂的,只開發自己那塊的就可以,但是現在對於其他組的業務也得熟悉,因為沒有共同的服務提供出來,都是自己查庫,寫庫的邏輯改了,有可能會影響到很多地方。所以正確的做法是各個業務按照領域劃分,只負責自己的業務部分。
重構過程
重構過程一般分兩大部分,一個部分是收集現有的需求,進行領域模型設計,成為一箇中臺服務,另外一個部分就是遷已有的程式碼。
一. 中臺領域模型設計
對於一些業界比較成熟的方案,這個是很容易劃分職責,區分邊界的,比如電商領域,淘寶都有書籍出版出來了,按照訂單,支付,商品,庫存,計價等中臺設計即可。但是對於自己公司本身的業務,這個可能很難找到現成的參考案例,需要找到公司自己的業務人員,溝通來確定領域設計
二. 遷移老程式碼
一般按照3步走,將遷移服務的影響降到最低
-
遷移寫,雙寫
先遷移寫,確保寫入中臺的部分不會出錯,這一步上線了新服務,確保了前臺業務呼叫正常。
同時將老資料遷移
需要有個遷移表,記錄兩邊資料遷移過程
雙寫是以寫入老服務為準,寫入新服務異常,出現異常,都是catch注,打入log,記錄異常原因 -
遷移讀
首先需要將寫改為寫入新服務為準,老服務備份。
同時將讀改為從新服務讀 -
下掉寫
1,2都沒問題後,將寫入老服務下掉。
需要說明的時,這種遷移和資料庫分庫分表的遷移有些不同,第一點資料庫分庫分表的拆分一般是同庫,表結構的一般只是增量變更,不會更改已有設計,而中臺通常伴隨著的是領域重新設計,從資料庫,到服務層都會有變更。
重構經驗
- 程式碼分層
- ut
- bean為不為空說明
相關文章
- 低程式碼平臺搭建CRM 加速重構業務模式模式
- 如虎添翼,低程式碼平臺中的微服務架構微服務架構
- 實際業務中使用策略模式對程式碼進行重構模式
- 程式碼重構之法——方法重構分析
- “硬核”程式碼重構
- 重構 PHP 程式碼PHP
- 中臺+低程式碼 企業數字化轉型新正規化
- JS 程式碼的簡單重構與優化JS優化
- 優化重構Python程式碼6個小建議優化Python
- 快速滿足個性化業務需求的低程式碼平臺
- 【讀程式碼重構有感】
- 談談程式碼重構
- 程式碼重構技巧(二)
- 基於大中臺架構的電商業務中臺最佳實踐之一:業務中臺總體架構介紹架構
- 程式碼重構:類重構的 8 個小技巧
- 網站重構-後臺服務篇網站
- 數字中臺全速重構企業業務與IT:2020雲徙數字創新年會召開
- 重構你的javascript程式碼JavaScript
- 程式碼重構那些事兒
- 重構改善既有的程式碼設計(重構原則)
- 程式碼重構:函式重構的 7 個小技巧函式
- 程式碼重構與單元測試——“提取方法”重構(三)
- 重構程式碼(應如寫詩)
- 程式碼的壞味道和重構
- 記一次程式碼重構
- 企業中臺建設新路徑——低程式碼平臺
- 重構:改善既有程式碼的設計(第二版讀書筆記) - 重構、壞程式碼、寫好程式碼筆記
- jscodeshift入門簡介&程式碼重構&程式碼分析&&ReactJSReact
- 單體架構&微服務架構&中臺服務架構架構微服務
- 璞華易構:真正的低程式碼平臺,讓業務處理更加自由自在
- 3個例子教你重構 Python 程式碼Python
- 6 個例子教你重構 Python 程式碼Python
- 模板化的封裝,降低業務程式碼開發封裝
- 業務中臺系統架構:大中臺+小前臺電子商務系統搭建框架思維架構框架
- leobert重構程式碼二三事--一.可怕的低階程式碼
- 還重構?就你那程式碼只能鏟了重寫!
- 如何從業務程式碼中提升技術:使用領域特定語言消除重複程式碼
- 低程式碼開發平臺助力企業資訊化