在給公司或者客戶做前期的系統(tǒng)設(shè)計(jì)時(shí),需要考慮的因素有比較多,但是對(duì)所有的因素進(jìn)行歸納總結(jié)抽象化后,基本得出以下的幾點(diǎn)主要原則:

- 系統(tǒng)的安全性
- 日志審計(jì):系統(tǒng)的操作,數(shù)據(jù)的變更都應(yīng)有日志進(jìn)行跟蹤
- 網(wǎng)絡(luò)安全:基于HTTPS的加密訪問(wèn)
- 身份安全:接口都應(yīng)通過(guò)網(wǎng)關(guān)獲取認(rèn)證信息,用戶的角色,訪問(wèn)的功能也要做出相關(guān)控制
- 應(yīng)用安全:SQL 注入攻擊預(yù)防,XSS 跨域腳本工具防御,多維度數(shù)據(jù)過(guò)濾,數(shù)據(jù)防篡改,數(shù)據(jù)脫敏,API網(wǎng)關(guān)認(rèn)證,接口白名單
- 數(shù)據(jù)安全:?jiǎn)⒂枚嘧鈶魯?shù)據(jù)隔離,數(shù)據(jù)災(zāi)備,禁止直連數(shù)據(jù)庫(kù)
- 系統(tǒng)的性能
- 海量并發(fā)讀取
- 海量并發(fā)寫入:使用緩存對(duì)數(shù)據(jù)進(jìn)行冷熱分離,通過(guò)MQ實(shí)現(xiàn)事件驅(qū)動(dòng)模式支撐海量并發(fā)操
- 杜絕數(shù)據(jù)庫(kù)鎖
- 通過(guò)壓測(cè)尋找性能瓶頸
- 系統(tǒng)的高可用性
- 部署方式高可用:微服務(wù)的部署方式
- 故障隔離性:當(dāng)服務(wù)出現(xiàn)不可用時(shí)需要對(duì)服務(wù)進(jìn)行隔離,保障核心的服務(wù)不受影響,使得核心應(yīng)用可以正常運(yùn)行
- 服務(wù)層高可用:服務(wù)冗余部署,服務(wù)限流,服務(wù)無(wú)狀態(tài)化
- 存儲(chǔ)層高可用:數(shù)據(jù)庫(kù)集群部署,主從結(jié)構(gòu)(MySQL Replication)
- 系統(tǒng)的l靈活性(可拓展性)
- 功能服務(wù)重用性
- 功能可配置性
- Web/服務(wù)層可伸縮
- 存儲(chǔ)層可伸縮
- 系統(tǒng)的可運(yùn)營(yíng)性
- 指標(biāo)監(jiān)控
- 鏈路跟蹤
- 異常報(bào)告及預(yù)警
- 日志管理
- 系統(tǒng)合規(guī)性
- 歐盟GDRP條例
- 美國(guó)隱私保護(hù)條例
- 美國(guó)安全保護(hù)條例
- 系統(tǒng)的全球化性
- 多語(yǔ)言機(jī)制:適應(yīng)海外需求
- 多租戶管理:對(duì)用戶,子公司實(shí)現(xiàn)不同數(shù)據(jù)隔離和差異化處理
- 地方合規(guī)性
國(guó)內(nèi)來(lái)說(shuō),合規(guī)性要求沒(méi)有那么高,但是隨著社會(huì)法律意識(shí)的普及、發(fā)展和提升,越來(lái)越多的員工和企業(yè)也在關(guān)注自身隱私數(shù)據(jù)的安全了,所以合規(guī)性也將會(huì)是一個(gè)重要的考量;目前對(duì)于全球化更多的理解,很多人還僅僅停留在多語(yǔ)言的層面。
對(duì)于合規(guī)性來(lái)說(shuō),從我們技術(shù)的角度去設(shè)計(jì)的時(shí)候,能做到的事情有哪些呢?

系統(tǒng)合規(guī)性
對(duì)于合規(guī)性要求,如果結(jié)合全球化的實(shí)施要求,不可避免的要對(duì)系統(tǒng)進(jìn)行多區(qū)域部署:

全球部署策略

技術(shù)部署方案
合規(guī)性其實(shí)與系統(tǒng)安全性也是有緊密關(guān)聯(lián)的

系統(tǒng)安全性
再回到系統(tǒng)全球化的特性里面,多語(yǔ)言僅是很小很小的一個(gè)點(diǎn),其他的還應(yīng)該包含有多租戶,多時(shí)區(qū)等特點(diǎn):

全球化特性
對(duì)于系統(tǒng)的高性能和高可用,這個(gè)其實(shí)相對(duì)來(lái)說(shuō)還算是比較簡(jiǎn)單的部分:

高性能高可用
對(duì)于業(yè)務(wù)人員,或者終端的用戶來(lái)說(shuō),關(guān)注的主要點(diǎn)其實(shí)還是在可運(yùn)營(yíng)的特點(diǎn)上,對(duì)于后臺(tái)開發(fā)人員來(lái)說(shuō),這也是降低運(yùn)維工作人員壓力的一個(gè)重要考察點(diǎn)

可運(yùn)營(yíng)特性
可拓展的特性,主要體現(xiàn)在服務(wù)、功能重用性,這個(gè)特性在SOA的架構(gòu)中,是最為重要的要素,特別是在業(yè)務(wù)單元的重用以及功能的重用性上,但是隨之而來(lái)的服務(wù)和功能之間的高度耦合和高度依賴的痛楚也慢慢體現(xiàn)出來(lái)。隨著當(dāng)下的微服務(wù)架構(gòu)的普及,該特性主要體現(xiàn)在底層的技術(shù)組件部分,或者體現(xiàn)在中間組件部分,而不是過(guò)度依賴的業(yè)務(wù)服務(wù)的重用。

服務(wù)的可拓展性
系統(tǒng)的架構(gòu)設(shè)計(jì)是一項(xiàng)非常細(xì)致縝密的工作,前期需要對(duì)系統(tǒng)涉及的業(yè)務(wù),關(guān)聯(lián)到的業(yè)務(wù)以及企業(yè)的IT架構(gòu)有足夠的了解和認(rèn)知,然后結(jié)合法律法規(guī),利用當(dāng)下企業(yè)提供的有限的條件進(jìn)行設(shè)計(jì)。
以上僅為個(gè)人觀點(diǎn),僅供參考。如有侵權(quán),請(qǐng)聯(lián)系。