更新時間:2022-06-08 來源:黑馬程序員 瀏覽量:
對于一般的公司而言,實踐微服務有非常大的技術挑戰(zhàn),所以并不是所有的公司都適合將單體架構拆分成微服務架構。一般來說,微服務架構比較適合未來有一定的擴展復雜度,且有很大用戶增量預期的應用,例如一些新興的互聯(lián)網(wǎng)公司應用。這些公司在創(chuàng)業(yè)初期,不可能買大量的或很貴的機器,但是又必須考慮應對成功后巨量的用戶問題,這時微服務架構就成了最好的選擇。除此之外,對于那些項目規(guī)模較大、業(yè)務復雜度較高,且需要長期跟進的項目,也適合考慮使用微服務架構。
在決定使用微服務架構后,所面臨的另一個問題就是如何將系統(tǒng)拆分為微服務。對于微服務的拆分,可以參考如下幾點建議。
·通過業(yè)務功能分解并定義與業(yè)務功能相對應的服務。
·將域驅(qū)動設計分解為多個子域。
·按照動詞或用例分解,并定義負責特定操作的服務,例如一個負責完成訂單的航運服務。
·通過定義一個對給定類型的實體或資源的所有操作負責的服務來分解名詞或資源,例如一個負責管理用戶賬戶的賬戶服務。
由于每個公司項的實際情況不同,所以微服務的拆分在實際操作時,會涉及到很多不同的細節(jié)問題,這里就不一一描述了,但總體來說,項目在拆分時按照上述幾點建議即可。