微服務應該避免協調成本

banq發表於2016-10-11
無論你是在一個大企業工作,還是在努力在創業中成長,速度對市場同樣至關重要。我們處於一個全球性的,競爭激烈的數字化市場,通向成功的競爭是激烈的。

在實現過程中,事情變得複雜起來,雖然重要的是速度,但速度卻很少是唯一的商業目標。對於大多數企業的安全是同樣重要的,有時甚至直接由政府執行,例如在需要的監管行業:醫療保健或金融。

很不幸,速度和安全是自然地對立相反-我們前進得越快,安全性就越差,發展到一定規模,必然帶來協調,每一次我們需要在多個團隊之間協調一個活動,無論每一個團隊是多麼小(甚至一個人'團隊'數),本質上這是整體進展的放緩。一個裝配線流水線最快的速度是以最慢那個環節為基準。

然而,一旦我們確定的協調成本是規模組織的速度殺手,我們可以設計我們的組織文化,這樣,最小化跨團隊之間協調。微服架構是一種軟體體系架構風格和相應的組織文化,應該要做的是:優先最小化協調。

然而,消除協調被明確地稱為微服架構的核心價值仍然是罕見的,我們通常認為所有的經常稱頌的微服務架構好處實際是這一核心價值的衍生物。
1.技術的異質性:移除需要在多個團隊中進行程式語言的協調,包括框架、庫和技術平臺。
2.分割槽的可擴充套件性和獨立部署:基本上去除了需要跨整個團隊進行系統的各個部分的部署和運維的協調。
3.可組合性和可替換性:去除了需要在不同的團隊協調系統部件的生命週期管理的必要性。

在所有微服務問題中,給我們帶來最混亂和爭議的問題是:“微服務的“微”應該小到怎樣才算?”

答案很明顯,一旦我們承認微服架構就是避免協調的需要:

一個微服務應小而簡單,組織中的任何人可以在瑣碎的時間內修改或重寫它。

“瑣碎的時間”會根據上下文而有所不同,從幾個小時到幾天,但作為一個經驗法則:大多數它不應該超過兩個星期。

@inadarei: Microservices Are All About Avoiding Co

相關文章