圖片來源: 

微軟

微軟近日發表了新的開源專案Dapr,它的全名為分散式應用程式執行環境(Distributed Application Runtime),目的在於協助開發人員更容易建置微服務應用程式。

微服務為一種軟體開發架構,先建置各種單一功能與責任的區塊,再以模組化的方式,將它們組合成複雜的大型應用程式。

微軟表示,近年來有愈來愈多的開發人員打造可擴展的雲端原生應用程式,並利用托管服務來部署與執行它們,此一轉變讓微服務架構成為建置雲端原生應用程式的標準,且預測到了2022年,將有高達9成的新應用程式都會配備微服務架構,然而,要實現微服務架構必須先充份了解與掌握分散式系統。

一般而言,開發人員想要專注於商業邏輯,頻繁且快速地遷移舊的程式碼,同時仰賴各式平台來提供這些應用程式所需的規模、彈性、可維護的能力或是其它雲端架構的特性,然而,他們卻會發現雲端與邊緣之間的可攜是受限的,使得他們必須不斷地解決諸如狀態管理、彈性方法呼叫與事件處理等同樣的分散式系統問題,而且許多程式設計的執行環境經常只有狹窄的語言支援,以及嚴格控制的功能集,替建置微服務架構帶來了挑戰。

舉例來說,要建置一個由不同服務組成的電子商務應用時,開發人員可能想要利用一個具狀態的模型來代表購物車服務,再呼叫無狀態的函數來負責支付與出貨服務,撰寫這些應用程式也許會牽涉到不同的語言、開發框架或平台,也會整合外部服務,理解及管理如此複雜的技術堆疊,將使開發人員無法專心於建立商業價值。

Dapr的誕生即是為了協助開發人員解決上述問題。它是一個開源、可攜且事件驅動的執行環境,以讓開發人員更容易打造可在雲端與邊緣運作的可靠、有狀態及無狀態的微服務應用程式,它包含了所有的程式語言與開發框架,也簡化了應用程式的建構程序。

Dapr是由一套建置區塊所組成,可透過標準的HTTP或gRPC APIs來存取,每個區塊都是獨立的,可在應用程式中選用全部或其中幾個,同時微軟也歡迎開源社群貢獻更多的區塊與元件。

目前的Dapr專案處於alpha階段,因此僅提供最常用的建置區塊,像是服務調用、狀態管理、服務之間的出版與訂閱通訊、事件驅動的資源綁定、虛擬模型,以及服務之間的分散式追蹤。

開發人員已可藉由GitHub存取Dapr程式碼與範例,微軟亦替Dapr建立了專屬網站以供開發人員交流。


Advertisement

更多 iThome相關內容