這個改變,讓應用程序既好做又好用!
微服務架構幫助你擴展
微服務架構可以幫助你進行多個維度的擴展:
- 流量和客戶。微服務使你能夠以更多流量和數(shù)據(jù)支持更多客戶。
- 開發(fā)人員和開發(fā)團隊的數(shù)量。微服務架構使你能夠添加更多的開發(fā)團隊,從而為你的應用程序添加更多的開發(fā)人員。而且由于開發(fā)人員不會像在單體開發(fā)過程中那樣互相影響,使得他們的工作效率更高。
- 復雜性和能力。團隊不需要考慮太多的應用程序的表面問題,這使他們能夠專注自己的領域去處理更復雜的問題。當更多團隊可以處理多種領域中的問題時,他們就有可能完成更復雜的項目。
面向單一團隊的服務架構(STOSA)
僅僅將你的應用程序遷移到基于微服務的架構是不夠的。即使你使用微服務架構,但開發(fā)團隊仍有可能需要處理不同的服務項目,團隊之間也有可能創(chuàng)建復雜的交互。最壞的情況是,即使轉向基于微服務的架構,你仍然可能陷入開發(fā)困境。
為了避免這些問題,你必須建立一個明確的服務所有權制度和責任模型。每個服務都需要一個獨立的、明確的、清晰的負責人,該負責人對服務負全部責任,并且每一個服務工作都需要進行管理和委派。我建議使用一個模型,例如面向單一團隊的服務架構 (STOSA),它可以讓你的應用程序和開發(fā)團隊更好地好擴展以滿足業(yè)務需求。
微服務架構的成本
微服務架構確實是有成本的。雖然,單個服務更易于理解和管理,但使用微服務架構的應用程序作為一個整體,明顯具有更多的活動部件,本身就變得更加復雜龐大,這會導致應用程序變得復雜。這種復雜性也會給應用程序的其他部分帶來問題,這些問題不應該被忽視。
此外,當許多陷入困境的公司(如圖1所示)計劃遷移到微服務架構(如圖2所示)時,他們通常會發(fā)現(xiàn)過渡期比他們希望或預期的更困難、更昂貴。因此,在遷移過程中,他們就放棄了。這導致他們是部分遷移的,而這種情況通常比開始時還要糟糕。
圖1
圖2
在遷移到微服務架構之前,請確保你了解未來要花費的成本、收益和挑戰(zhàn)。你必須設定適當?shù)钠谕拍苁惯w移成功,并在未來得到你理想中的應用程序。
作者:Lee Atchison,云計算和應用程序現(xiàn)代化領域公認的專家。Lee在產品開發(fā)、架構、擴展和現(xiàn)代化應用方面擁有超過三十年的經(jīng)驗,曾在 Amazon、Amazon Web Services (AWS)、New Relic等現(xiàn)代應用行業(yè)工作過。Lee最近的一本書是《Architing for Scale(O'Reilly Media)》。
原文網(wǎng)址:https://www.infoworld.com/article/3637016/why-you-should-use-a-microservice-architecture.html