架構反思案例之「分布式」的架構案例

2021-09-06 18:00:06 字數 1147 閱讀 9196

不知道這個算不算乙個分布式系統,我個人覺得是比較不錯的乙個設計,思路非常的好。

專案背景

需要設計一套解決方案,解決目標企業的資料管理,資料不同客戶端同步,建設**的需求。

專案設計

1. **的設計

傳統的bs架構,使用者可以直接登入**管理資料資源,可以發布資源到線上。此外,使用者可以直接登入客戶端,完成同樣的功能。客戶端的計算能力閒置的時候,在徵得使用者同意的情況下,可以使用客戶端完成一些併發的任務,比如資料整理,採集等等。同時提供線上與客戶端同時並存的方式對於使用者來說還是非常方便的,特別是對於那些工作在外面的業務員。

這裡很重要的乙個部分就是負載均衡的處理,針對公司所在的地理位置不同,需要把公司的訪問請求分配到不同的資料伺服器上。

2. **的資料儲存

使用sqlserver作為**的資料庫,目前執行狀況良好。這個作為整個架構的資料中心,儲存了所有的資料。隨著資料量的越來越大,資料伺服器已經擴充套件到了多台,這個由負載均衡元件的負責處理。

3. 客戶端的設計

由於伺服器提供了乙個同步資料的介面,客戶端可以從伺服器同步資料,也可以向伺服器提交新資料。這裡的客戶端形式多樣,包括傳統的window form桌面程式,也包括ios和android程式。由於不同的平台,例如傳統的桌面,移動端,使用的語言不同,設計也有所差別,但是基本上都會有顯示資料和同步資料的功能。

4. 客戶端的資料儲存

客戶端的資料儲存平台也可能不同,但不管選擇什麼資料庫,都是為了與sqlserver的資料相容,為資料同步做物理準備。

5. 公司資料中心的概念

對於中大型客戶公司,客戶端需要時刻在公司內保持同步,即使是在斷網的情況下也要如此,這時公司需要設定資料中心,來完成公司內客戶端的資料同步。

6. 資料的同步

這是最重要的乙個模組,同步的演算法非常的簡單,就是對比不同表資料的時間戳,只要時間戳不同,就同步表的資料。此外,使用p2p加速區域網的同步速度,也是非常關鍵的一步。

專案反思

該設計覆蓋了目標企業大中小不同規模的使用場景,使用非常靈活。但是實現的過程比較複雜,需要很多領域深厚的知識。

python分布式架構 分布式架構

1.分布式架構 採用centos mongodb windows2012 python redis進行分布式架構搭建,mongodb的框架最核心的設計就是 mongodb和mapreduce。mongodb為海量的資料提供了儲存,則mapreduce為海量的資料提供了計算,windows2012作為...

架構設計之分布式快取

1 前言 我們在開發系統的過程中,快取是個有用的模組。下面我就把我們的快取模組給大家做個簡單介紹。2 類圖 看不清楚?這裡檢視原圖 大圖 3 簡單介紹 快取分為兩個部分。乙個是快取結構乙個是儲存結構。快取結構主要解決物件什麼時候過期而儲存結構主要解決物件儲存到什麼地方。3.1快取結構 我們在處理快取...

高可用架構之分布式快取

為什麼需要快取?加速請求響應時間,響應延遲小 減少對固化儲存的讀壓力 快取適用場合 靜態資源的快取 較少更改資源的快取 讀多寫少場景 不適合場景 頻繁更新 讀少寫多 高可用架構使用的快取型別有哪些?各自作用是什麼?本地快取 靜態不變的資料 減少網路i o互動 程序內快取 和程序相關的動態資料 動態變...