隨著互聯(lián)網(wǎng)的快速發(fā)展,企業(yè)和服務(wù)提供商正在尋找更好的方法將應(yīng)用程序部署在云環(huán)境中,微服務(wù)被認(rèn)為是未來(lái)的方向。通過(guò)將應(yīng)用和服務(wù)分解成更小的、松散耦合的組件,它們可以更加容易升級(jí)和擴(kuò)展,微服務(wù)作為一項(xiàng)在云中部署應(yīng)用和服務(wù)的新技術(shù)已成為當(dāng)下最新的熱門(mén)話(huà)題。
對(duì)于微服務(wù),中培偉業(yè)《微服務(wù)架構(gòu)設(shè)計(jì)與最佳實(shí)踐》培訓(xùn)專(zhuān)家胡老師指出,微服務(wù)應(yīng)用的一個(gè)最大的優(yōu)點(diǎn)是,它們往往比傳統(tǒng)的應(yīng)用程序更有效地利用計(jì)算資源。這是因?yàn)樗鼈兺ㄟ^(guò)擴(kuò)展組件來(lái)處理功能瓶頸問(wèn)題。這樣一來(lái),開(kāi)發(fā)人員只需要為額外的組件部署計(jì)算資源,而不需要部署一個(gè)完整的應(yīng)用程序的全新迭代。最終的結(jié)果是有更多的資源可以提供給其它任務(wù)。
一種軟件架構(gòu)模式
復(fù)雜應(yīng)用解耦為小而眾的服務(wù)
各服務(wù)精而專(zhuān)
服務(wù)間通信通過(guò)API完成
微服務(wù)應(yīng)用程序的另一個(gè)好處是,它們更快且更容易更新。當(dāng)開(kāi)發(fā)者對(duì)一個(gè)傳統(tǒng)的單體應(yīng)用程序進(jìn)行變更時(shí),他們必須做詳細(xì)的QA測(cè)試,以確保變更不會(huì)影響其他特性或功能。但有了微服務(wù),開(kāi)發(fā)者可以更新應(yīng)用程序的單個(gè)組件,而不會(huì)影響其他的部分。測(cè)試微服務(wù)應(yīng)用程序仍然是必需的,但它更容易識(shí)別和隔離問(wèn)題,從而加快開(kāi)發(fā)速度并支持DevOps和持續(xù)應(yīng)用程序開(kāi)發(fā)。
第三個(gè)好處是,微服務(wù)架構(gòu)有助于新興的云服務(wù),如事件驅(qū)動(dòng)計(jì)算。類(lèi)似AWS Lambda這樣的功能讓開(kāi)發(fā)人員能夠編寫(xiě)代碼處于休眠狀態(tài),直到應(yīng)用程序事件觸發(fā)。事件處理時(shí)才需要使用計(jì)算資源,而企業(yè)只需要為每次事件,而不是固定數(shù)目的計(jì)算實(shí)例支付。