步驟一:架構規(guī)劃
本文以同城雙活單元化架構為示例,介紹如何進行單元化技術架構和應用架構的規(guī)劃,輸出部署架構圖和應用架構圖,指導研發(fā)運維人員初始化環(huán)境和進行應用研發(fā)改造。
前提條件
了解 單元化架構
架構介紹
如上圖所示,該業(yè)務系統(tǒng)搭建在同城雙活單元化架構上。
業(yè)務架構覆蓋的業(yè)務場景如下:
轉(zhuǎn)賬
存款送積分
支撐業(yè)務的應用如下:
交易中心(txnflow):交易服務中心,提供轉(zhuǎn)賬服務,依次調(diào)用轉(zhuǎn)出賬戶的取款服務和轉(zhuǎn)入賬戶的存款服務,分布式事務的發(fā)起者。
賬戶中心(acccenter):提供存款和取款服務兩種原子的賬務操作,分布式事務的參與者。
積分中心(pointcenter):提供積分返還服務,主要驗證事務性消息。
部署架構中主要涉及的單元如下:
兩個機房(IDC):POC01 和 POC02。
兩組本地域(RZone):RZ01 和 RZ02。
日常每組 RZone 負責 50 個分片數(shù)據(jù),承載 50% 業(yè)務流量。
使用LHC單元化應用服務-流量管理,可動態(tài)調(diào)整分片規(guī)則,進行流量調(diào)撥。
一組全局域(GZone):GZ01A 和 GZ01B。在 2 個機房部署 2 個應用層單元,互為備份。
應用架構
業(yè)務應用的調(diào)用鏈路如下圖所示。
應用拆分
本示例教程暫不涉及 GZone 類型的應用。
以下 3 個應用都是 RZone 類型應用,可按照 uid 進行單元化拆分。
應用名 | Zone 類型 |
txnflow | RZone |
acccenter | RZone |
pointcenter | RZone |
數(shù)據(jù)拆分
在本教程中,uid 格式如:08006660000****
,按照 uid 進行 10 庫 10 表拆分。
使用的中間件
中間件 | 配置信息 | 備注 |
消息隊列 | TopicGroupID | 創(chuàng)建 topic、groupid 和路由規(guī)則。 |
數(shù)據(jù)訪問代理 | 1 個實例,3 個庫,每個庫 10 庫 10 表 | 創(chuàng)建實例,添加數(shù)據(jù)節(jié)點,創(chuàng)建數(shù)據(jù)庫、數(shù)據(jù)表,并連接數(shù)據(jù)訪問代理。 |
分布式事務 | 無 | 無 |
微服務 | 無 | 無 |