系統有數據識別、數據脫敏邏輯,支持可配置規則,自定義等,須要進行異構數據同步,大數據量。如今針對如下幾個需求進行講解數據庫
一、支持冗餘設計 二、支持任務自動分發,支持自動負載均衡 三、支持隨時擴容節點而無需關停原有的系統和業務緩存
調度平臺服務器
數據同步架構
控制檯負載均衡
數據識別框架
數據脫敏微服務
高可用經過Nginx、註冊中心來實現,能夠支持動態擴容。每一個主要模塊都是以無狀態集羣方式部署的,各自模塊均可以經過註冊中心來實現服務註冊,模塊之間的調用服務發現來獲取,並以域名方式實現。性能
考慮到擴展,因此設想的方案是儘量的作到每一個服務職責單一。大數據
這樣的拆分,也是考量到每一個環節的瓶頸都不同,目前預估不是很精確,這樣能夠爲後續擴展提供方便性。架構設計
數據脫敏、數據識別須要單獨獨立出來,緣由:自己的服務不在數據同步中,可能提早預處理進行。
經過集羣部署方式,支持冗餘設計。
調度平臺、Nginx集羣經過數據同步性能狀況,實現任務自動分發,支持自動負載均衡。
可用性表格分析
場景 | 影響 | 降級 | 緣由 |
---|---|---|---|
某臺數據同步下線 | 無影響 | - | 數據同步無狀態,調度平臺重連其餘的數據同步服務。 |
全部數據同步下線 | 調度平臺沒法執行數據同步任務 | 控制檯正常運行;調度平臺把數據同步任務放入執行隊列,等待執行 | - |
某個Nginx下線 | 無影響 | - | 多Nginx部署,數據徹底同步,註冊中心、控制檯域名經過SLB自動切換到其餘存活的Nginx |
控制檯DB宕機 | 調度中心無影響,控制檯沒法更新配置 | 調度平臺開啓配置緩存後,對配置的讀取不受數據庫宕機影響 | |
某臺數據識別、數據脫敏下線 | 無影響 | - | 數據識別、數據脫敏無狀態,數據同步重連其餘的數據識別、數據脫敏同步服務 |
所有數據識別、數據脫敏下線 | 無影響 | - | 數據同步可執行在線脫敏功能,會影響任務時長。 |
數據同步、控制檯、調度平臺、數據識別、數據脫敏是數據脫敏的幾大核心微服務模塊,相互協做完成配置中心業務功能,Nginx、註冊中心是輔助微服務之間進行服務發現的模塊。
採用微服務架構設計,架構和部署(部署方式能夠用容器思路來操做)都有一些複雜,可是每一個服務職責單一,易於擴展。