如今框架兩字已經(jīng)爛大街了,xx公司架構(gòu)設(shè)計隨處可見,不過大多看個熱鬧,這些框架如何來的,細節(jié)又是如何思考的,相互之間的隔離依據(jù)又是什么...相信很多朋友應(yīng)該依然存在自己的疑惑,特別是越來越火熱的微服務(wù)以及衍生的微服務(wù)網(wǎng)關(guān)產(chǎn)品,正好最近打算寫一個小開源框架OSS.Core,過程中有一點思考,通過這篇文章記錄一下,也希望能盡量幫助大家去理解一下,大概圍繞以下幾個問題:
1. 微服務(wù)產(chǎn)生的由來
2. 微服務(wù)的設(shè)計思路
3. OSS.Core框架的設(shè)計和實現(xiàn)
在展開講述之前,我希望大家首先要明白傳統(tǒng)架構(gòu)和微服務(wù)架構(gòu)之間不是相互獨立/對立關(guān)系,微服務(wù)是在傳統(tǒng)框架下為了應(yīng)對并發(fā)維護等問題衍生出的邏輯概念,更多的是在項目不同階段的思考和解決問題方式的轉(zhuǎn)變。其次,把邏輯架構(gòu)和物理架構(gòu)(文件) 區(qū)分開來,多數(shù)時候邏輯架構(gòu)和物理架構(gòu)對應(yīng)的,不過有時一個物理架構(gòu)中是可以包含多個邏輯架構(gòu)的。
一. 微服務(wù)產(chǎn)生的由來
微服務(wù)主要是將一些大型的,復(fù)雜的應(yīng)用拆解為多個服務(wù)組合,每個服務(wù)自治,以達到更加靈活,維護方便的效果。
為了更好的理解,我們先來看下常見三種解決并發(fā)的方式:
1. 添加數(shù)據(jù)庫主從分離,甚至多主寫入或者分區(qū)等機制,在應(yīng)用程序中對應(yīng)修改連接串或添加訪問中間件,來提高數(shù)據(jù)庫的處理能力。
2. 由于數(shù)據(jù)庫資源相對緊張并且比較耗時,為了提高訪問速度,這個時候一般也會通過分布式緩存等來減少對底層的訪問。