微服務學習八 什麼時候用微服務架構

2021-10-06 13:53:21 字數 775 閱讀 9278

分布式服務集群產生的問題:

1、分布式系統的資料一致性,當所有**和資料都在一起的時候,可以利用事務和鎖來解決,但是拆分成微服務架構後,要想很好的解決我們就需要引入分布式鎖和事務的基本設施,如何用好它們?

2、分布式系統因為大量節點和網路通訊的存在,問題和故障的產生在設計的時候,其實就是乙個常態。這樣發現問題和定位問題就必須要比單體應用做的更好,但是因為系統的拆分,問題的定位也變的更複雜。對應的我們就需要設計一套故障管理的基礎設施,實現指標收集、監控、報警和恢復,防止出現更嚴重的問題。

3、在微服務架構中,變更變的更加的常見和頻繁,而且因為服務拆分,應用本身也變的更多。這就需要一整套 ci/cd 的基礎設施來支援管理這些應用以及應用的變更。持續整合continuous integration(ci)和持續交付continuous delivery(cd)

4、早期設計的服務架構是否能很好的和組織架構匹配,其中一方發生變化的時候,另一方能否適應這種變化?持續重構帶來的問題。

確定使用為服務需要考慮的問題:流暢的 ci/cd 系統、可靠的監控系統、變更管理系統、資源管理平台、良好的組織架構設計。

如果你的系統不到足夠複雜的程度不要考慮使用微服務。

當業務不複雜,團隊規模不大的時候,單塊架構比微服務架構具有更高的生產率(productivity)。因為建立微服務架構需要額外的開銷來支援和管理微服務,從而降低生產率;但是隨著業務複雜性的增加和團隊規模的擴大,單塊架構比微服務架構的生產率下降更趨明顯。

當複雜性達到乙個臨界點,微服務架構的生產率會優於單塊架構,因為微服務的鬆散耦合自治特性減緩了生產率的下降趨勢。

微服務學習筆記 什麼是微服務

martin fowler 簡而言之,微服務架構風格這種開發方法,是以開發一組小型服務的方式來開發乙個獨立的應用系統的。其中每個小型服務都執行在自己的程序中,並經常採用http資源api這樣輕量的機制來相互通訊。這些服務圍繞業務功能進行構建,並能通過全自動的部署機制來進行獨立部署。這些微服務可以使用...

什麼是微服務,微服務簡介

目錄 微服務今天簡單了解一下微服務,在看微服務前,先了解一下傳統的單機系統。所有的業務子模組都集中在乙個系統中,優點是便於管理,但是規模變大的時候,缺點就很明顯了。缺點 當產品規模越來越大,各種的大大小小模組都塞在乙個專案中,必然會使整個專案變的臃腫,讓開發者難以維護。系統的各個功能模組都依賴於同樣...

微服務實踐 什麼是微服務

微服務是一種軟體架構風格,該詞 於martin fowler 的一篇部落格。他在自己部落格中闡述了微服務六個特點 創業初期 很快完成後,找了家雲服務部署上線,開始了創業之路。規模擴大 這一階段存在著很多不合理的地方 做出改變 在程式設計的世界裡,最重要的是抽象能力,通過整理業務邏輯,抽象初公共的業務...