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.mzph.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…