NCF 的Dapr應用實例的運行

簡介

在進行今天的主要內容之前,先帶大家了解一下Dapr

Dapr 是一個可移植的、事件驅動的運行時,它使任何開發人員都可以輕松構建在云和邊緣上運行的彈性、無狀態和有狀態的應用程序,并包含語言和開發人員框架的多樣性。

任何語言,任何框架,任何地方

3c4940fecc347ecb8874ccc6ff2dc974.png

今天,我們正在經歷一波云采用浪潮。開發人員對 Web + 數據庫應用程序架構感到滿意,例如經典的 3 層設計,但對本質上分布式的微服務應用程序架構不滿意。成為分布式系統專家很難,你也不應該這樣做。開發人員希望專注于業務邏輯,同時依靠平臺為他們的應用程序注入云原生架構的規模、彈性、可維護性、彈性和其他屬性。

這就是 Dapr 的用武之地。Dapr 將構建微服務應用程序的最佳實踐編入稱為構建塊的開放、獨立 API,使您能夠使用您選擇的語言和框架構建可移植的應用程序。每個構建塊都是完全獨立的,您可以在應用程序中使用其中的一個、部分或全部。

使用 Dapr,您可以將現有應用程序逐步遷移到微服務架構,從而采用云原生模式,例如橫向擴展/縮減、彈性和獨立部署。

此外,Dapr 與平臺無關,這意味著您可以在本地、任何 Kubernetes 集群、虛擬機或物理機以及 Dapr 集成的其他托管環境中運行您的應用程序。這使您能夠構建可以在云和邊緣運行的微服務應用程序。

云和邊緣的微服務構建塊

1291dde6d597d5b59dde7a01db546579.png

在構建微服務應用程序時有許多考慮因素。Dapr 在構建開發人員可以以標準方式使用并部署到任何環境的微服務應用程序時,為常用功能提供了最佳實踐。它通過提供分布式系統構建塊來做到這一點。

這些構建塊 API 中的每一個都是獨立的,這意味著您可以在應用程序中使用它們中的一個、部分或全部。

邊車架構

Dapr 將其 HTTP 和 gRPC API 公開為 sidecar 架構,既可以作為容器也可以作為進程,不需要應用程序代碼包含任何 Dapr 運行時代碼。這使得與 Dapr 的集成很容易與其他運行時集成,并提供應用程序邏輯的分離以提高可支持性。

f39c57c19165f096276f645af43f2fa0.png

自托管本地開發

在自托管模式下,Dapr 作為一個單獨的 sidecar 進程運行,您的服務代碼可以通過 HTTP 或 gRPC 調用該進程。每個正在運行的服務都有一個 Dapr 運行時進程(或 sidecar),它被配置為使用狀態存儲、發布/訂閱、綁定組件和其他構建塊。

您可以使用Dapr CLI在本地計算機上運行啟用 Dapr 的應用程序。下圖顯示了使用 CLIinit命令配置時 Dapr 的本地開發環境。

b386db44973524edb413db259ce73293.png

看完上述內容,我們大家需要有一個共識的概念就是,Dapr它是邊車模式,下圖中箭頭所指的地方就是邊車,是不是一下子就知道Dapr是什么樣的印象了

9ae42a910695f0bdc3ac0e2c23aaf720.png

你可以理解為是一些附加的服務,當然它也意味著,將是一個無所不能的服務。

知道NCF的小伙伴們都知道,不知道的小伙伴們可以到NCF Docs中去一睹NCF的真容。

NCF( NeuCharFramework)是一整套可用于構建基礎項目的企業級通用 .NET 框架,
嚴格遵循 DDD 設計模式,包含了基礎的緩存、數據庫、模型、驗證及配套管理后臺,
高度模塊化, 具有高度的可擴展性和耐造性。

NCF具有簡單,靈活,可擴展的特性

現在給他加上Dapr,你可以想象一下,它將更大限度的為開發者伙伴提供更多的能力,下面我們就來看看NCF的Dapr版

步驟

  • 下載NCF源碼

  • 打開Visual Studio,并打開Dapr分支源碼

  • 修改數據庫配置

  • 修改Redis配置

  • 編譯項目docker-compose

  • 啟動Docker

  • 檢查Docker運行狀態

  • 配置Docker共享文件夾目錄

  • 運行

實施

  • 下載NCF源碼

下載地址:https://github.com/NeuCharFramework/NCF

分支:Developer-front-DDD-Dapr-20220218

  • 打開Visual Studio,并打開Dapr分支源碼

470004bf233cb8bc59fa8ccd8b0f5c76.png

?  打開源碼后如圖所示

  Senparc.Web   ? ?主運行項目

  XncfModules/    Xncf模塊目錄

  docker-compose  ? docker運行項目

  • 修改數據庫配置

打開數據庫配置文件

1a433116ab3397947d86a5dc28fad474.png

?修改Sql-Server節點的內容,如下所示

a18c4929060059bedaca30525e66a547.png

?修改這三個位置即可

  • 修改Redis配置

設置docker-compose為啟動項

5bbd9bc18166d2d191d5df9226cf161b.png

9f58ccdefdc85e78b4cdc5ebc3d55f52.png

?如果啟動的時候提示xxx容器不存在,則需要添加項目容器的支持,右鍵項目添加Docker支持

ca1f13521132e0d99e24e1507a23fe5e.png

??需要查看docker容器運行中的redis中的配置信息

75b32c9e5d17c31b7867d3a67d45eb37.png

  • 編譯項目docker-compose

5979b147b4dd6e63d320cf1686c45b70.png

  • 啟動Docker

  • 檢查Docker運行狀態

244df0fb36bec3f8d4932d29b4b1c901.png

?在Docker運行的桌面圖標上右鍵,就能看到docker運行是否正常

  • 配置Docker共享文件夾目錄

進入windows版,docker desktop主界面,看到如下圖的設置圖標,點擊進入

08780c417b20452ca32bdc76c616c8f8.png

?給共享的文件夾授權

9cfe873ff67cb5d6dd2e1a0394cfaa0b.png

?為什么要給文件夾授權呢,因為docker本身是一個容器環境,獨立于本身的操作系統,如果要與操作系統中的文件夾通信或者傳遞,則需要用到共享,掛載等功能,因此需要共享文件夾

  • 運行

648b60ca12eef29e6a8125d090b78b33.png

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/285970.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/285970.shtml
英文地址,請注明出處:http://en.pswp.cn/news/285970.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

E-MapReduce上如何升級EMR-Core

本文檔將介紹如何將老集群的EMR-Core升級到最新版本 什么是EMR-Core EMR-Core是E-MapReduce集群上支持Hadoop生態組件讀寫OSS的依賴包。它提供一種高效地讀寫OSS數據的實現,并不斷地在優化。所以,隨著E-MapReduce版本的迭代,我們就有必要升級…

06 tp6 的數據更新(改)及刪除 《ThinkPHP6 入門到電商實戰》

文章目錄(更新中…) 01 thinkphp6的前期開發準備《ThinkPHP6 入門到電商實戰》 02 控制器《ThinkPHP6 入門到電商實戰》 03 數據庫查詢、模型查詢、多庫查詢《ThinkPHP6 入門到電商實戰》 04 tp6 的查數據《ThinkPHP6 入門到電商實戰》 05 tp6 的數據添…

研發項目成本計算方法以及工作量評估

目錄 研發成本計算方法 1.1開發工作量 1.1.1估算工作量經驗值(以A來表示) 1.1.2風險系數(以σ來表示) 1.1.3復用系數(以τ來表示) 1.2開發費用 (/人月) 1.2.1 P(人頭費&#xff0…

2020年:風雨兼程,不負韶華,注定是不平凡的一年

時光易逝,歲月不老。2020,發生了太多的驚喜。 文章目錄小瑤瑤報到疫情防控,我們是認真的感謝CSDN一路相伴小瑤瑤報到 1月20日,閨女小瑤瑤已超過預產期一周了,決定入院進行手術,次日,手術順利進…

C語言試題六十之請編寫函數fun,計算并輸出下列級數和:s=1/1*2+1/2*3+…+1/n(n+1)

??個人主頁:個人主頁 ??系列專欄:C語言試題200例目錄 ??推薦一款刷算法、筆試、面經、拿大公司offer神器 ?? 點擊跳轉進入網站 ?作者簡介:大家好,我是碼莎拉蒂,CSDN博客專家(全站排名Top 50),阿里云博客專家、51CTO博客專家、華為云享專家 1、題目 編寫函數f…

Python對文件的操作(轉)

一、文件對象 我理解的文件對象就是一個接口&#xff0c;通過這個接口對文件進行相關操作。 《Python 核心編程》上說的很晦澀&#xff0c;這里沒有深刻理解到&#xff0c;希望有人能解釋給我聽。>>> f open(demo.txt,r) >>> f <open file demo.txt, mod…

微軟發布全新Win11 輕量級系統Validation OS

你可能還不知道&#xff0c;在沒有任何公開宣傳的情況下&#xff0c;在最近&#xff0c;微軟最近發布了一個全新的操作系統 Microsoft Validation OS。根據微軟的說法&#xff0c;這是一個輕量級、快速且可自定義的基于 Windows 11 的操作系統。專門為硬件或軟件供應商、開發人…

夢回編程- 由LD_LIBRARY_PATH引發JNI的理解

前些天在配置通過OCI的方式連接Oracle中曾進碰到一個關于“java.lang.UnsatisfiedLinkError: no XXX in java.library.path”這么一個問題&#xff0c;這個問題糾結了許久才解決&#xff0c;解決方式參考前面的文章。趁雙休日好好的理解一下產生這個問題的來龍去脈。先看一段話…

CSDN博客文章閱讀模式插件(附源碼)

插件地址&#xff1a;https://greasyfork.org/zh-CN/scripts/380667-csdn%E5%8D%9A%E5%AE%A2%E9%98%85%E8%AF%BB%E6%A8%A1%E5%BC%8F%E5%88%87%E6%8D%A2%E6%8F%92%E4%BB%B6 插件安裝使用說明請參閱&#xff1a;https://greasyfork.org/zh-CN 瀏覽器&#xff08;正常&#xff09…

C語言試題六十一之請編寫函數fun:將s所指字符串中下標為偶數的字符刪除,串中剩余字符形成新串放在t所指數組中。

??個人主頁:個人主頁 ??系列專欄:C語言試題200例目錄 ??推薦一款刷算法、筆試、面經、拿大公司offer神器 ?? 點擊跳轉進入網站 ?作者簡介:大家好,我是碼莎拉蒂,CSDN博客專家(全站排名Top 50),阿里云博客專家、51CTO博客專家、華為云享專家 1、題目 請編寫函數…

【ArcGIS風暴】ArcGIS tif轉jpg:JPEG壓縮僅支持8位或16位無符號數據(具有一個或三個波段,且沒有色彩映射表)解決方案!

擴展閱讀:【ArcGIS風暴】ArcGIS支持的柵格數據格式大全及格式轉換案例精解 文章目錄 問題描述tif格式和JPEG格式詳解ArcGIS軟件tif轉jpg方法總結問題描述 如下圖所示,在ArcGIS中將tif格式的無人機影像數據導出為Jpg格式時,提示:JPEG壓縮僅支持8位或16位無符號數據(具有一…

CF374 Maxim and Array

貪心 如果有0先變成非0 如果負數的個數 應該變為偶數 之后就是每次將絕對值最小的值加K #include<bits/stdc.h> using namespace std; const int MAXN 2e55; typedef long long ll;int N,K,X; ll A[MAXN]; int tag[MAXN]; struct Node{ll x; int id;Node(ll a0, int …

Blazor University (29)表單 —— 編輯表單數據

原文鏈接&#xff1a;https://blazor-university.com/forms/editing-form-data/編輯表單數據源代碼[1]因為 EditForm 組件呈現標準的 <form> HTML 元素&#xff0c;實際上可以在我們的標記中使用標準的 HTML 表單元素&#xff0c;例如 <input> 和 <select>&a…

廣州Uber優步司機獎勵政策(1月4日~1月10日)

滴快車單單2.5倍&#xff0c;注冊地址&#xff1a;http://www.udache.com/ 如何注冊Uber司機(全國版最新最詳細注冊流程)/月入2萬/不用搶單&#xff1a;http://www.cnblogs.com/mfryf/p/4612609.html 優步獎勵低/不掙錢/怎么辦?看這里&#xff1a;http://www.cnblogs.com/mfry…

10 關聯模型《ThinkPHP6 入門到電商實戰》

一、什么是關聯模型 關聯模型指在 tp 中使用模型對多個數據表進行關聯。例如一個主賬戶表與一個賬戶信息表進行關聯&#xff0c;此時兩者關聯后可以更加簡便的進行操作&#xff0c;使代碼更加清晰&#xff0c;操作更加簡便。 二、 正向一對一關聯 一對一關聯指的是數據只有一…

阿里云云計算ACP考試知識點(標紅為重點)

阿里云云計算專業認證考試&#xff08;ACP&#xff09;&#xff08;ECS&#xff09; 什么是云服務器 ECS 云服務器 Elastic Compute Service&#xff08;ECS&#xff09;是阿里云提供的一種基礎云計算服務。使用云服務器 ECS 就像使用水、電、煤氣等資源一樣便捷、高效。您無需…

C語言試題六十二之請編寫函數fun除了字符串前導和尾部的*號之外,將串中其他*號全部刪除。形參h已指向字符串第一個字母,形參p已指向字符串中最后一個字母。在編寫程序時,不得使用c語言提供的字符串函數。

??個人主頁:個人主頁 ??系列專欄:C語言試題200例目錄 ??推薦一款刷算法、筆試、面經、拿大公司offer神器 ?? 點擊跳轉進入網站 ?作者簡介:大家好,我是碼莎拉蒂,CSDN博客專家(全站排名Top 50),阿里云博客專家、51CTO博客專家、華為云享專家 1、題目 請編寫函數…

Android 整體設計及背后意義

目錄 1. Android設計的現實意義 1.1 發展的前提&#xff1a;硬件抽象 1.2 能力的樞紐&#xff1a;組件化 1.3 應用的基礎-接口層 2. 對于我們的象征意義和實踐 3. 小結 阿里妹導讀&#xff1a;現實工作中經常可以聽到這樣的說法&#xff1a;框架的升級帶來協議性能的提升…

數學的意蘊與價值(建議收藏)

數學的意蘊與價值,內容包括數學運算、長度面積等位換算等等,建議收藏。 意蘊1: 1x8+1=912x8+2=98123x8+3=9871234x8+4=987612345x8+5=98765123456x8+6=9876541234567x8+7=987654312345678x8+8=98765432123456789x8+9=987654321意蘊2: 1x9+2=1112x9+3=111123x9+4=11111234x9…

85、交換機安全MAC層***配置實驗之Port-Security

1、Port Security解析觸發Port Security的條件&#xff1a;未授權的MAC地址端口MAC地址數量超過了限制觸發Port Security后的動作&#xff1a;protect Security violation protect mode 丟棄數據&#xff0c;不發送SNMP Trap消息 restrict Security violation restr…