這篇文章將為大家詳細(xì)講解有關(guān)Dapr微服務(wù)的原理是什么,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
為峨邊彝族等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及峨邊彝族網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、峨邊彝族網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
Dapr(Distributed Application Runtime),是微軟Azure內(nèi)部創(chuàng)新孵化團(tuán)隊(duì)的一個(gè)開源項(xiàng)目,皆在解決微服務(wù)應(yīng)用開發(fā)過(guò)程的一些共性問(wèn)題。以官方文檔的說(shuō)法,Dapr是一個(gè)可移植、事件驅(qū)動(dòng)的運(yùn)行時(shí),讓企業(yè)開發(fā)者更容易利用各種語(yǔ)言和框架構(gòu)建柔性、無(wú)狀態(tài)和有狀態(tài)的微服務(wù)應(yīng)用,并運(yùn)行在云端和邊緣。
Dapr的核心由Go語(yǔ)言寫成,開發(fā)團(tuán)隊(duì)一開始有計(jì)劃使用.NET Core/C#來(lái)寫,但是考慮到社區(qū)的接受程度,遂最終選定Go作為開發(fā)語(yǔ)言。當(dāng)然,還是可以使用任何語(yǔ)言和框架來(lái)編寫Dapr的擴(kuò)展功能。由于Dapr要解決的問(wèn)題確實(shí)是大家面臨的一些痛點(diǎn),并且Dapr的設(shè)計(jì)也獨(dú)樹一幟,所以一經(jīng)開源,就成為GitHub上Star增長(zhǎng)最快的開源項(xiàng)目之一,甚至達(dá)到5K Star的速率超過(guò)了Kubernetes。
Dapr做的事情很簡(jiǎn)單,就是利用Sidecar的模式,把代碼中的一些橫切關(guān)注點(diǎn)需求(Cross-cutting)分離和抽象出來(lái),從而達(dá)到運(yùn)行環(huán)境的獨(dú)立和對(duì)外部依賴(包括服務(wù)之間)的獨(dú)立。
這種獨(dú)立的途徑就是使用開放協(xié)議(HTTP和gRPC)來(lái)代替依賴特定協(xié)議。如下圖所示:
從上圖我們可以看到,使用Dapr開發(fā)的微服務(wù)應(yīng)用理論上可以部署到任意的云提供商、邊緣設(shè)備、虛擬機(jī)、Service Fabric集群、Kubernetes集群里面。
并且在如下方面(稱之為Building Block)進(jìn)行外部依賴的抽象:
<ul class=">下圖很好的展示了以上獨(dú)立抽象的能力是如何通過(guò)Sidecar模式實(shí)現(xiàn)的:
(Sidecar進(jìn)程模式)
(Sidecar容器模式)
雖然Dapr暴露的所有能力都是基于開放協(xié)議HTTP和gRPC的,但是為了方便大家快速開發(fā),目前還是提供了如下語(yǔ)言平臺(tái)的SDK:
同時(shí),Dapr還可以和微軟開源的FaaS開發(fā)框架Azure Functions進(jìn)行集成,Dapr開發(fā)團(tuán)隊(duì)也基于Azure Logic App的邊緣運(yùn)行時(shí)版本為微服務(wù)應(yīng)用提供了Workflows的能力
根據(jù)InfoQ的架構(gòu)和設(shè)計(jì)技術(shù)趨勢(shì)報(bào)告(https://www.infoq.com/articles/architecture-trends-2020/),微服務(wù)已經(jīng)成為軟件開發(fā)的主流。但是要開發(fā)微服務(wù)應(yīng)用,大部分開發(fā)人員還是面臨諸多挑戰(zhàn)。根本原因在于我們更熟悉經(jīng)典的3層架構(gòu),而對(duì)微服務(wù)這種分布式應(yīng)用的開發(fā)經(jīng)驗(yàn)會(huì)顯得相對(duì)不足,很難應(yīng)對(duì)分布式應(yīng)用所要求的伸縮性、靈活性、可維護(hù)性等云原生的特點(diǎn)。
Dapr通過(guò)把一些構(gòu)建微服務(wù)應(yīng)用所需的最佳實(shí)踐內(nèi)置到開放、獨(dú)立的Building Block中,讓開發(fā)人員更加專注于業(yè)務(wù)邏輯代碼的編寫,即可開發(fā)出功能強(qiáng)大的微服務(wù)應(yīng)用。
更為重要的是,Dapr還抽象了運(yùn)行環(huán)境,避免微服務(wù)應(yīng)用和運(yùn)行環(huán)境強(qiáng)綁定(這也是很多團(tuán)隊(duì)“假上云”——僅使用VM的原因之一)。并且支撐Dapr的運(yùn)行環(huán)境不僅僅限于Cloud,還有廣闊的Edge。
毫無(wú)疑問(wèn),Dapr獲得了很多用戶的青睞,官網(wǎng)上提到的Geek+使用Dapr構(gòu)建了倉(cāng)儲(chǔ)機(jī)器人的解決方案,Willow使用Dapr構(gòu)建了智能鐵路管理系統(tǒng)。也還有很多大型企業(yè)正在采用Dapr來(lái)構(gòu)建他們的微服務(wù)應(yīng)用,甚至國(guó)內(nèi)某互聯(lián)網(wǎng)巨頭不僅計(jì)劃采用還積極參與了Dapr社區(qū)的貢獻(xiàn)。
關(guān)于Dapr微服務(wù)的原理是什么就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
分享文章:Dapr微服務(wù)的原理是什么
網(wǎng)站路徑:http://aaarwkj.com/article0/ihhsio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、服務(wù)器托管、定制網(wǎng)站、云服務(wù)器、移動(dòng)網(wǎng)站建設(shè)、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)