微服務架構風格可以降低系統的複雜度嗎?

時間 2021-06-01 05:15:14

1樓:

微服務容易分工,容易部署,容易開發,互相耦合鬆散, 哪兒哪兒都是好處。

但是你碰到坑的人, 比方說不寫注釋的,濫用語法糖的,辭職就跑路的人單獨寫乙個微服務。 通常再找乙個人接的時候接手的會選擇重寫

2樓:Tech觀世界

微服務架構下,單個應用簡單,整體複雜。單個應用簡單意味著開發人員可以快速迭代、快速修復bug、響應需求,這正是軟體工程長期以來追求的目標。整體複雜需要做好架構,設計合理的系統結構。

總體上來講,微服務架構是軟體工程里程碑似的的進步,完成了普通開發和架構的分工,各司其職,互助互補,向流水線開發模式演進,非常符合網際網路的發展要求,站在這個角度理解,是大大降低了系統的複雜度的。

3樓:yaoyao

因為微服務將系統分割為粒度更小的服務單元,所以單元複雜度會大大下降

但是,不存在任何銀彈!系統被分割為若干服務單元的時候,就產生了額外的對服務單元進行有效管理的需求。所以系統的整體複雜度會大大地上公升

4樓:學而先進

微服務架構提公升了系統的複雜性,開發難度/運維難度都會上公升,成本也高。但是面向乙個大型企業,如石化、電網,或者網際網路產品,會帶來更家敏捷的業務整合,快速適應市場需求。這個微企業帶來的好處是難以計算的。

5樓:

微服務架構在能夠更快的對專案模組化,而且更快的定位問題但隨之而來的問題是:

一體化方案帶來的容災機制是 1*1

微服務架構 N(取決於你提供多少個服務)*1

6樓:錦蕭

根據目前專案中的實踐,微服務架構並沒有降低系統的複雜性,反而公升高了系統複雜性。

但是帶來了其它好處:

1、高內聚,低耦合,個人理解這是帶來的最大的好處;

2、伴隨著高內聚,低耦合,系統的可維護性會變好還有其它好處都是和這個相關的

7樓:dong

微服務是面對實際問題的解決方案,如果你的專案沒有典型的大專案面臨的痛點,為了微服務而微服務的話,當然會增加複雜性。

如果你思考一下大專案面臨的痛點,或許微服務會給你很好的思路

8樓:

既然業務複雜度無法簡化,只能簡化技術複雜度。

小專案:便利店,啥都賣,但貨不全

中專案:超市,大而全,但比較亂,熱銷商品的銷量受收銀、庫存的制約大專案:專賣店,可新開,可關門,可擴張。成本高但更靈活

9樓:丘波

曾經有句話,分布式第一定律:盡量不要使用分布式。這是站在效能的角度考慮的。現在的分布式系統一般不會太考慮分布式帶來的效能開銷,更注重分布式帶來的優點,粒度自己去權衡。

微服務會降低業務的複雜度,因為它迫使你去合理劃分系統邊界,合理設計領域模型。但是,微服務帶來了一系列的非功能性需求,比如說:

1.事務

冪等性+訊息是很好的解決辦法

2.服務治理

註冊,發現,負載,路由,認證授權,隔離

3.監控

日誌,效能監控,告警,呼叫鏈路

4.部署,測試

劃分得粒度太細,部署成本會上公升。測試中的服務依賴會讓測試體驗非常痛苦如果沒有基礎設施,實現微服務會很痛苦,應用越多越悲劇。別為了「微」而把應用做小,微服務裡,更重要的是服務兩個字。

10樓:趙丙峰

任何架構風格本身都不能降低業務複雜性。假設乙個業務的內稟複雜性為常數的話,不同的實現方案的優劣體現在增加的額外複雜性的多少。糟糕的實現導致太多的額外複雜性,甚至超越業務本身,而優秀的實現則相反。

誠如已有的答案所言,控制額外複雜性的關鍵在於合適地建模以及恰當地封裝外部依賴。前者依賴於對業務的深入理解,而後者依賴於對實現環境,工具,以及相關技術的深入掌握。偏廢任何一方面都會導致乙個蹩腳的方案。

架構風格是組織這些資訊的指南,目的是使得最終的方案在幾萬英呎的高度有一致的表達。對於乙個優秀的方案,細節上和結構上很相似,這是複雜系統自相似的乙個典型的例子。

題主說每個public服務都是乙個服務,讓我想起乙個資深工程師說良好設計的極端就是一行語句就是乙個介面。話雖沒錯,但是場景不對就相當於胡說了。

微服務架構是什麼?

山間霧 傳統服務是乙個大盒子把需要的功能都放進去,體積比較臃腫,而且這些功能互相沒有太大關聯,需要自己進行拼裝和維護 微服務是把除基礎功能外的所有功能都放在外面,並且這些功能都形成統一的元件化,開發者可以自定義配置,高效標準規範 在巨集觀方面更好維護和管理,微觀方面輕巧切易於維護。 已登出 微服務是...

電商,Spring Cloud架構,微服務之間耦合過多的問題如何解決?

倚天碼農 你講了了兩個問題。乙個是高度耦合 程式架構和設計 另乙個是http的呼叫效率。這兩個問題的解決方案一般情況下是互相矛盾的。要想解決高度耦合,就需要優雅的設計,但一般效率都不高。要想提高效率,就要使用一些特殊的設計和手段,這必然使程式設計很難看。我們先來看高度耦合 程式架構和設計 模組拆分之...

微服務架構中可以直接使用資料庫作為註冊中心嗎?

小小笑兒 可以的,註冊中心只是為了統一管理服務的註冊資訊,是很多的對。所以說只要是能夠提供儲存和查詢資料的工具都可以用來作為註冊中心。比如你完全可以自己寫乙個 http server 來作為自己的註冊中心 類似 eureka 三觀成型沒法改 可以其實大多數公司連日均8000pv的訪問坎都過不去,my...