摘要:而微服務將這個理念應用在獨立的服務上。微服務對比與原來的單體應用,有它的優勢,如服務的自治性增強但同時也會帶來一些其他問題,如性能復雜度等問題。想要使用微服務,首先是要清楚哪些業務或者功能應該成為多帶帶的服務。其次,考慮業務極有可能的變化。
1、在學習軟件構造、設計相關知識時,大家應該有學習到內聚性的概念:即把因相同原因而變化的東西聚合到一起,而把因不同原因而變化的東西分離開來。而
微服務將這個理念應用在獨立的服務上。根據業務的邊界來確定服務的邊界,這樣就很容 易確定某個功能代碼應該放在哪里。
我個人覺得,微服務就是將原來的單體應用安裝功能進行切分,然后各個服務之間通過通信(跨進程、跨機器)來共同完成原來的單體應用所提供的功能。
微服務對比與原來的單體應用,有它的優勢,如服務的自治性增強、但同時也會帶來一些其他問題,如性能、復雜度等問題。
2、想要使用微服務,首先是要清楚哪些業務或者功能應該成為多帶帶的服務?!段⒎赵O計》一書中給了一些建議:
當你在思考組織內的限界上下文時,不應該從共享數據的角度來考慮,而應該從這些上下 文能夠提供的功能來考慮。
這個上下文是做什么用的。
組織結構和軟件架構會互相影響。
當然,書中列出的建議不止這些,我也想談一談我自己的一些想法。
我覺得首先要從業務出發(多帶帶的基礎服務,例如分布式事務、數據庫同步服務例外),這一塊業務我們需要實現怎樣的功能,它在系統中處于什么樣的位置,它需要與哪些服務進行交互(提供接口和消費接口)。知道了業務功能在整個系統的位置,有助于我們進行決策。
其次,考慮業務極有可能的變化。業務功能可能因為產品進度等其它客觀因素導致其部分需求或功能在本次迭代中沒有提出,但可以預見的是這些功能在很大程度上會在后面的迭代中補充,這些功能可能會對當前業務有影響,將這些情況考慮進去在一定程度上會使得服務設計更加合理。在服務拆分、功能分配的時候可能會遇到這些情況,但需要避免過度設計。
最后,也需要根據自己團隊的特點來設計微服務,例如組織架構會影響軟件架構、以及當團隊技術能力無法保障多服務協作的正確性,可以減少服務的拆分,將一些功能合并在一個服務內。
如有不正確的地方,歡迎指正交流。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/77393.html
摘要:本書概括以軟件系統為例,重點講解了應用架構中的物理設計問題,即如何將軟件系統拆分為模塊化系統。容器獨立模塊不依賴于具體容器,采用輕量級容器,如獨立部署模塊可獨立部署可用性模式發布接口暴露外部配置使用獨立的配置文件用于不同的上下文。 本文為讀書筆記,對書中內容進行重點概括,并將書中的模塊化結合微服務、Java9 Jigsaw談談理解。 本書概括 以Java軟件系統為例,重點講解了應用架構...
摘要:走過了這一年,公眾號的名稱前前后后改了三次,最后定格為閏土大叔。均價,這價格絕對屬于太原市最便宜的樓盤之一了。據售樓部的朋友說,未來兩年太原的房價還會迎來新一波的漲價潮,到了年,太原會承辦全國青少年運動會,簡稱青運會。 前言 從年前就嚷嚷著要走出去走出去,轉眼間已經到了年底依然在我的大太原呆著。年底了,不能免俗的我,也來寫一篇2017年度工作總結的文章,湊湊熱鬧。如果對你有一點點啟發,...
摘要:走過了這一年,公眾號的名稱前前后后改了三次,最后定格為閏土大叔。均價,這價格絕對屬于太原市最便宜的樓盤之一了。據售樓部的朋友說,未來兩年太原的房價還會迎來新一波的漲價潮,到了年,太原會承辦全國青少年運動會,簡稱青運會。 前言 從年前就嚷嚷著要走出去走出去,轉眼間已經到了年底依然在我的大太原呆著。年底了,不能免俗的我,也來寫一篇2017年度工作總結的文章,湊湊熱鬧。如果對你有一點點啟發,...
閱讀 2858·2021-09-28 09:36
閱讀 3964·2021-09-22 15:52
閱讀 3644·2021-09-06 15:00
閱讀 1963·2021-09-02 15:40
閱讀 2809·2021-09-02 15:15
閱讀 3474·2021-08-17 10:15
閱讀 2792·2019-08-30 15:53
閱讀 2082·2019-08-29 18:39