微服務(wù)架構(gòu)與實踐中微服務(wù)架構(gòu)是由一組微服務(wù)組成的架構(gòu)模式。每一個微服務(wù)都是一個可以獨(dú)立完成的完整系統(tǒng)。一組微服務(wù)系統(tǒng)可以組成微服務(wù)層。而微服務(wù)層上面一般都是應(yīng)用層,應(yīng)用層可以通過組合使用為服務(wù)層的各個微服務(wù)而向外提供接口。
微服務(wù)架構(gòu)與實踐中的微服務(wù)一般是按照業(yè)務(wù)功能來進(jìn)行拆分的,可以將關(guān)聯(lián)性較強(qiáng)的業(yè)務(wù)拆成一個微服務(wù),例如訂單服務(wù)等。具體來說就是可以根據(jù)業(yè)務(wù)實體名詞來進(jìn)行拆分,比如說:訂單、用戶和下載等。
我們微服務(wù)架構(gòu)與實踐采用的是服務(wù)集成則打破了數(shù)據(jù)集成模式,不在使用以前的數(shù)據(jù)為中心的集成系統(tǒng)。我們呢可以用兩個微服務(wù)來重新設(shè)計上面的交易系統(tǒng)和短信通知系統(tǒng)。兩個微服務(wù)就是:用戶微服務(wù),就是主要負(fù)責(zé)對信息進(jìn)行管理;訂單微服務(wù),負(fù)責(zé)對訂單信息進(jìn)行管理。這樣的話,那么用戶數(shù)據(jù)狀態(tài)的變化和訂單的數(shù)據(jù)狀態(tài)變化就是不再受控于交易系統(tǒng)和短信通知系統(tǒng),而只是由用戶微服務(wù)和訂單微服務(wù)控制。
但是一般情況下我們應(yīng)該盡量避免微服務(wù)直接調(diào)用另外一個微服務(wù),尤其是不能夠兩個微服務(wù)相互調(diào)用,如果存在兩個微服務(wù)相互調(diào)用得情景,那么我們就應(yīng)該慎重衡量是否拆分的合理。當(dāng)然我們微服務(wù)架構(gòu)的發(fā)生就表明我們還是有一定的優(yōu)點(diǎn)的。比如我們每個微服務(wù)功能是非常簡單的,代碼量也是不多的,新手很容易上手。