一、在學習軟件構造、設計相關知識時,你們應該有學習到內聚性的概念:即把因相同緣由而變化的東西聚合到一塊兒,而把因不一樣緣由而變化的東西分離開來。而數據庫
微服務將這個理念應用在獨立的服務上。根據業務的邊界來肯定服務的邊界,這樣就很容 易肯定某個功能代碼應該放在哪裏。
我我的以爲,微服務就是將原來的單體應用安裝功能進行切分,而後各個服務之間經過通訊(跨進程、跨機器)來共同完成原來的單體應用所提供的功能。
微服務對比與原來的單體應用,有它的優點,如服務的自治性加強、但同時也會帶來一些其餘問題,如性能、複雜度等問題。架構
二、想要使用微服務,首先是要清楚哪些業務或者功能應該成爲單獨的服務。《微服務設計》一書中給了一些建議:分佈式
當你在思考組織內的限界上下文時,不該該從共享數據的角度來考慮,而應該從這些上下 文可以提供的功能來考慮。
這個上下文是作什麼用的。
組織結構和軟件架構會互相影響。
固然,書中列出的建議不止這些,我也想談一談我本身的一些想法。微服務
若有不正確的地方,歡迎指正交流。性能