基於及時反應的應用系統是軟體系統近些年來的乙個發展趨勢(資訊的價值隨時間變久而價值減少),從設計上需符合reactive宣言四大部分
1. 對事件反應
2. 對資源載入反應
3. 對失敗反應
4. 對使用者訪問反應
通過宣言能夠總結反思過去軟體設計的一些教訓,比方:
1. 在分布式系統中把狀態做集中式地儲存。(可用性、分割槽性受到挑戰)
2. 把分布式系統中的一致性問題只交給儲存部分處理,如資料庫。(應用的一致性對可用性、可擴充套件性能影響非常大)
3. 應用模組之間資訊傳遞強耦合 。(函式同步呼叫)
若要設計開發具有良好伸縮性、彈性、及時響應的應用系統需考慮下面3方面:
1. 清晰劃分邊界,提公升應用程式模組內部凝聚力,解除模組間的強耦合,分布地存放不同上下文邊界應用模組的狀態。
2. 縱向考慮一致性問題,在應用系統全部層面考慮一致性處理。
3. 應用模組之間利用事件傳遞驅動,如利用actor模型或訊息系統。
go reactive 宣言
系統設計的幾點思考
前言又有好一陣子沒有更新文章了,今天聊聊系統設計的幾點思考。對於我們來說,始終會獨自設計,研發,迭代系統。為系統的演進,整個生命週期負責。而負責的系統到底處於什麼狀態?是否健康?是否出現問題?這些都是需要考慮的問題。開關對關鍵流程,進行開關設定。例如 交易開關,資金池開關。對於金融系統而言,特別是出...
對J2EE應用系統分層設計的思考
從最常規的分層結構來說,系統層次從上到下依次為 表現層 主要是客戶端的展示。服務層 直接為客戶端提供的服務或功能。也是系統所能對外提供的功能。領域層 系統內的領域活動。dao層 資料訪問物件,通過領域實體物件來操作 資料庫。其中有些指導原則 1 上層總是依賴其下層,依賴關係不跨層。2 表現成除外,同...
對許可權系統設計的再思考
對許可權系統設計的再思考 什麼是許可權系統,許可權系統究竟在整個系統中起到什麼作用,或者說許可權系統必須提供哪些功能?談談個人的看法,我認為授權和驗證是乙個許可權系統最基本的功能,而乙個更完善的許可權系統會增加上如何驗證和驗證後如何處理這兩種功能。對於乙個許可權系統的基本元素,我覺得只有兩個 pri...