近幾年來java 分佈式彷佛已經成爲公司招聘的一部份內容,好多從事java工做的人都在努力的去學習一些分佈式框架,好比阿里巴巴的 double,zookeeper,包括現有的springCloud,等等,一系列的框架。java
java 的分佈式 其實很早就提出來了,至於哪一年不大記得,有興趣的能夠去了解下。在我周圍的有那麼一些人,偶爾我聽到這樣的一些說辭:等我學會了分佈式我就能拿到更高的薪資。android
也有多是周圍環境的侷限形成的,在開發的生涯之中 ,代碼,語言永遠只是一種工具,編程講究的是思惟,代碼輔助於業務。web
咱們來思考一個東西:如今要實現一個 百萬用戶訪問級別的系統,日誌大概一秒破百,系統總共分爲四端:微信公衆,web,android,IOS。 權限實現自由控制,session實現全局統一,事物實現統一。數據庫一張表數據量破百萬。spring
聽起來彷佛這樣的業務很唬人。數據庫
題外話:寫代碼內心面首先不要有怕字,團隊的人特別是團隊的核心人員,能給你的提高遠遠比通常的本身去苦讀野史文章來的更快,去學習他的思惟方式遠遠比獲得他的代碼來的更重要。編程
迴歸正題:先來看一張支付寶的業務圖(這圖我不知道哪裏看到的順道用了)設計模式
這是一張基於SOA的設計圖,在一個SOA的系統架構裏,一次業務請求將會跨多個服務,那麼session的統一以及權限的控制就貫穿於整個系統之中。在個人設計裏面從表到java業務代碼裏面,遵循樹形設計模式,大體的草圖以下微信
每個業務塊都會細分爲多個小業務塊,小業務塊最終一級一級往上進行處理,自下而上的規則進行業務處理。session