偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

微服務(wù)激增:太多的微服務(wù)會造成不必要的負(fù)擔(dān)

譯文 精選
開發(fā) 前端
本文探討與過度創(chuàng)建微服務(wù)相關(guān)的陷阱,了解其原因、影響和潛在的緩解策略。

譯者 | 李睿

審校 | 重樓

微服務(wù)架構(gòu)作為小型、獨立、松散耦合的服務(wù)套件,促進(jìn)了應(yīng)用程序的開發(fā)。由于其眾多優(yōu)點(例如可擴(kuò)展性、可靠性、更快的開發(fā)周期、更容易維護(hù)單個服務(wù)等),在軟件行業(yè)中獲得了廣泛的關(guān)注,很多組織正在按照微服務(wù)架構(gòu)構(gòu)建應(yīng)用程序。然而,微服務(wù)也面臨一些陷阱。

在工作中處理用例時,可以觀察到微服務(wù)架構(gòu)的另一面,即微服務(wù)的激增。本文將詳細(xì)介紹與過度創(chuàng)建微服務(wù)(微服務(wù)激增)相關(guān)的陷阱,并提供有關(guān)其原因、影響和潛在緩解策略的見解。

什么是微服務(wù)激增?

微服務(wù)激增指應(yīng)用程序框架/生態(tài)系統(tǒng)中微服務(wù)數(shù)量的不受控制、不受監(jiān)管,以及在某種程度上不受歡迎的增長。這通常是由于缺乏架構(gòu)計劃和治理、架構(gòu)監(jiān)督、服務(wù)定義和邊界不明確,以及組織邊界等一些非技術(shù)原因造成的。微服務(wù)激增會導(dǎo)致架構(gòu)復(fù)雜性增加、效率和性能下降、運營和維護(hù)挑戰(zhàn)、功能重復(fù)以及服務(wù)調(diào)用迷宮,進(jìn)而導(dǎo)致性能進(jìn)一步下降和可能對客戶產(chǎn)生負(fù)面影響。以下討論其中的一些陷阱及其可能的解決方法。

常見的陷阱

1.架構(gòu)復(fù)雜性增加

隨著生態(tài)系統(tǒng)中微服務(wù)數(shù)量的增加,服務(wù)生態(tài)系統(tǒng)(及其架構(gòu))也會變得越來越復(fù)雜。這將給整個生態(tài)系統(tǒng)的設(shè)計、開發(fā)、部署、功能發(fā)布和維護(hù)方面帶來進(jìn)一步復(fù)雜性和挑戰(zhàn)。

影響

(1)服務(wù)可能變得過于依賴其他服務(wù)或與其他服務(wù)過于耦合,從而在服務(wù)中人為地制造了不必要的架構(gòu)分隔,這導(dǎo)致開發(fā)者難以真正理解系統(tǒng)架構(gòu)并對其進(jìn)行任何更改。

(2)隨著系統(tǒng)中活動部件(架構(gòu)中的服務(wù))的增加,維護(hù)系統(tǒng)的操作負(fù)擔(dān)也在增加。每個微服務(wù)都需要自己的基礎(chǔ)設(shè)施、指標(biāo)和警報的維護(hù)和管理,從而給值班人員和團(tuán)隊增加了運營負(fù)擔(dān)。

潛在的緩解策略

(1)明確服務(wù)的清晰定義和邊界。確保它們具有內(nèi)聚性和功能限制。記住,不需要為每一個新的映射、每一個新配置或每一個系統(tǒng)將擁有的新實體構(gòu)建一個新的服務(wù)。

(2)定期審查和審核架構(gòu),棄用不需要的服務(wù)。折疊或合并重復(fù)的服務(wù)以簡化架構(gòu)。

2.功能發(fā)布的復(fù)雜性增加

由于微服務(wù)激增增加了更多的活動部件(也稱為服務(wù)),因此功能發(fā)布可能需要對相對較多的服務(wù)進(jìn)行更改。這使功能發(fā)布過程變得復(fù)雜,因為功能需要在多個服務(wù)中進(jìn)行部署。這增加了功能發(fā)布過程中失敗的風(fēng)險,因為在一個服務(wù)中部署失敗可能會破壞整個功能發(fā)布過程,并可能導(dǎo)致其他影響(數(shù)據(jù)完整性、系統(tǒng)完整性等)。

影響

(1)增加了跨服務(wù)協(xié)調(diào)部署所需的復(fù)雜性和工作量,從而增加了操作開銷。

(2)復(fù)雜的回滾過程,特別是在服務(wù)相互依賴的情況下,導(dǎo)致操作開銷進(jìn)一步增加。

(3)較長的發(fā)布計劃和回滾計劃可能導(dǎo)致系統(tǒng)處于過渡狀態(tài)的時間更長,從而導(dǎo)致行為不一致,進(jìn)而導(dǎo)致客戶體驗不一致。

潛在的緩解策略

(1)在所有服務(wù)管道中遵循CI/CD原則,以自動化部署過程,并在管道之間安全地部署更改,確保發(fā)布的一致性和可靠性。

(2)當(dāng)一個功能發(fā)布涉及多個服務(wù)時,使用功能標(biāo)志將功能的啟動與部署解耦,并在其中涉及的服務(wù)中干凈地控制新功能的啟動。

3.性能下降

微服務(wù)激增可能會導(dǎo)致整個系統(tǒng)的性能下降,這主要是因為請求需要經(jīng)過多個躍點,從而導(dǎo)致額外的網(wǎng)絡(luò)延遲。

影響

(1)第一個影響是服務(wù)客戶請求的延遲增加,主要是因為請求需要在多個系統(tǒng)之間進(jìn)行交互。

(2)一個存在資源競爭或?qū)崿F(xiàn)(或基礎(chǔ)設(shè)施)未優(yōu)化的服務(wù)可能會影響整個服務(wù)生態(tài)系統(tǒng)。

(3)最后,考慮到維護(hù)系統(tǒng)的成本,這可能意味著更多的基礎(chǔ)設(shè)施成本和相對較少的性能收益。

潛在的緩解策略

(1)實現(xiàn)服務(wù)網(wǎng)格以優(yōu)化服務(wù)之間的通信并減少延遲。然而,這給架構(gòu)增加了另一個組件,并使其更加復(fù)雜。

(2)在必要時進(jìn)行緩存,以減少網(wǎng)絡(luò)調(diào)用帶來的開銷和延遲。

(3)定期對服務(wù)進(jìn)行負(fù)載測試,優(yōu)化服務(wù)瓶頸。

4.重復(fù)

隨著新服務(wù)的創(chuàng)建,重復(fù)和冗余的特性和代碼的風(fēng)險也隨之增加,從而導(dǎo)致資源的浪費。

影響

(1)重復(fù)的服務(wù)導(dǎo)致更高的維護(hù)成本,從而導(dǎo)致系統(tǒng)效率低下。

(2)服務(wù)的客戶可能會對使用哪個服務(wù)感到困惑,從而導(dǎo)致系統(tǒng)進(jìn)一步的低效率和錯誤。

潛在的緩解策略

(1)在組織內(nèi)提倡重用文化。只要可能,鼓勵團(tuán)隊重用或擴(kuò)展現(xiàn)有服務(wù),而不是創(chuàng)建新服務(wù)。

(2)維護(hù)一個服務(wù)目錄,詳細(xì)說明每個服務(wù)的清晰定義、責(zé)任和支持的功能。在團(tuán)隊內(nèi)部定期審查和審核。

5.測試復(fù)雜性增加

隨著微服務(wù)數(shù)量的增長,功能端到端測試的復(fù)雜性也在增加。隨著系統(tǒng)中微服務(wù)的增加,維護(hù)數(shù)據(jù)和系統(tǒng)完整性變得越來越復(fù)雜。

影響

(1)跨多個服務(wù)協(xié)調(diào)和執(zhí)行測試用例可能成為后勤上的噩夢,從而導(dǎo)致測試不完整,從而導(dǎo)致未檢測到的問題。

(2)測試單個服務(wù)需要付出更多的努力,因為它需要復(fù)雜的模擬設(shè)置,這可能無法準(zhǔn)確地表示實際場景。

(3)在整個服務(wù)生態(tài)系統(tǒng)的端到端測試中需要付出更多的努力,因此需要更高的投資和成本來安全推出新功能。

潛在的緩解策略

(1)實現(xiàn)自動化測試框架,它可以模擬多個服務(wù)之間的復(fù)雜交互。

(2)進(jìn)行分階段測試,首先測試單個服務(wù),然后根據(jù)所涉及服務(wù)的接口對整個生態(tài)系統(tǒng)進(jìn)行端到端測試。

6.機(jī)會成本增加和資源利用不佳

隨著微服務(wù)數(shù)量的增長,維護(hù)服務(wù)的成本、開發(fā)新功能的成本以及這些服務(wù)的基礎(chǔ)設(shè)施成本也在增加。它還增加了機(jī)會成本,因為用于維護(hù)這些服務(wù)或在這些服務(wù)之上進(jìn)行構(gòu)建的資源可以用于解決其他問題。

影響

(1)更高的開發(fā)、維護(hù)和基礎(chǔ)設(shè)施成本。

(2)更高的機(jī)會成本。

(3)浪費資源,因為團(tuán)隊一直在維護(hù)現(xiàn)有的服務(wù),而不是在解決其他問題上投入資源。

潛在的緩解策略

(1)提倡重用或擴(kuò)展的文化,只在必要時構(gòu)建新服務(wù)。

(2)定期檢查端到端架構(gòu),并進(jìn)行實驗以發(fā)現(xiàn)瓶頸。合并或棄用服務(wù)以簡化架構(gòu),從而提高資源利用率。

結(jié)論

微服務(wù)激增是真實存在的,并帶來了巨大的挑戰(zhàn),可能會破壞微服務(wù)架構(gòu)的好處,從而導(dǎo)致復(fù)雜性的增加、性能的下降、資源利用率欠佳,以及錯失解決其他問題的機(jī)會。通過認(rèn)識到這些陷阱并實現(xiàn)戰(zhàn)略性和有效的緩解措施,組織的團(tuán)隊可以應(yīng)對微服務(wù)激增的復(fù)雜性,從而確保他們利用這種架構(gòu)模式的真正好處。

原文標(biāo)題:Microservice Proliferation: Too Many Microservices,作者:Sumit Kumar

責(zé)任編輯:華軒 來源: 51CTO
相關(guān)推薦

2018-08-24 11:52:15

成本公共云云服務(wù)

2011-08-10 11:12:03

2011-08-18 09:46:01

2021-02-10 15:54:48

Windows 10Windows微軟

2009-10-22 09:25:54

Linux系統(tǒng)服務(wù)操作系統(tǒng)

2020-07-10 15:03:08

緩存架構(gòu)計算

2011-06-07 09:14:59

2011-06-07 09:34:40

2011-06-07 09:35:06

2019-09-10 11:34:23

軟件技術(shù)數(shù)據(jù)庫

2024-07-02 14:23:12

2023-05-04 07:06:25

微軟Windows

2024-01-05 07:41:08

Go語言語句

2024-01-10 14:40:56

顆粒度開發(fā)微服務(wù)

2010-05-21 14:09:41

2015-11-25 13:37:52

磁盤空間LinuxUbuntu

2020-12-18 10:01:11

GitHub開源Cookies

2011-08-18 09:51:21

2021-12-29 08:30:48

微服務(wù)架構(gòu)開發(fā)

2024-07-02 10:58:53

點贊
收藏

51CTO技術(shù)棧公眾號