上一篇大概的整理了一下在vm虚拟机下通过docker部署dapr应用,作服务之间调用的例子。

今天整理一下windows下dapr的非docker部署调试,毕竟大部分开发不需要花费太多时间做部署。

源代码还是来自上一篇的例子,代码就不再贴出来了。 exercisebook/Dapr/DaprDemo at main · liuzhixin405/exercisebook (github.com)

首先windows电脑下面需要安装dapr的sdk,官方文档跳转安装 Dapr CLI | Dapr 文档库

安装完docker后初始化一下dapr,最后通过dapr--version验证下安装是否成功和版本号。

看官方文档,往后的操作就是docker相关的,如果windows下不想装docker可以跳过,而且我的电脑有vm虚拟机,安装docker需要关闭hyper-x, 虚拟机和win下面安装cento或docker最头痛的是hyper-x不能共存,而且没必要都要装。

下面的教程跟docker和虚拟机无任何关。

继续翻看文档,在不使用diocker的情况下子托管模式运行dapr,

就是这个命令 dapr init --slim ,会初始化winows的dapr 运行时环境。

操作方式: 不使用 Docker 在自托管模式下运行 Dapr | Dapr 文档库

安装完后可以看到在本机的用户账号下生成的目录,打开components文件夹,会看到statestore.yaml文件,是不是有点熟悉,这就是状态管理和发布订阅默认的存储容器redis配置。

因为有了这个文件的配置,所以启动我们自己的服务前需要把我们的redis跑起来,如果有密码需要填上去。

下面调试我们的服务分两步走。

第一步启动两个服务

第二部当让又是熟悉的附加进程了。

首先分目标在项目文件夹下面执行这两个命令

dapr run --app-id getwf --app-port 5053 dotnet run

dapr run --app-id clientservice --app-port 5277 dotnet run

因为本地调试没有跟上一篇一样给指定--dapr-http-port的端口,而且在windows下面启动会需要launchSettings.json这个文件,所以端口是改文件配置好的http的端口。

如果不是指定launchSettings.json的端口,会有提示端口已指定该文件的http和https端口。

下面就是附加进程了,首先把代码打好断点,再把这两个进程加入到vs中,一下子不能同时添加两个进程,加完Server再加Client,没有先后顺序。

下面就来调试代码了,输入client请求的接口地址,client写了日志,server没有写,所以控制台只打印client输出的信息:

总结,dapr的调试确实非常简单,而且不需要一点复杂的调试环境,真的非常不错。学习成本不仅仅非常低,而且部署也不复杂。

下面是一个dapr服务日志发布订阅的例子

exercisebook/Dapr/DaprLogger at main · liuzhixin405/exercisebook (github.com)

windows下dapr的代码调试--非docker部署的更多相关文章

  1. windows 下使用 mingw编译器 调试时 无法跟进源码

    windows 下使用 mingw编译器 调试时 无法跟进源码 最近在公司使用QT 开发,官方在线下载的 安装的QT mingw 都是没有debug版本的 由于没有debug版本动态库 所以你调试的时 ...

  2. Windows下搭建FFmpeg开发调试环境

    背景 如果你是一个FFmpeg的使用者,那么绝大部分情况下只需要在你的程序中引用FFmpeg的libav*相关的头文件,然后在编译阶段链接相关的库即可. 但是如果你想调试FFmpeg内部相关的逻辑,或 ...

  3. [补] 如何在windows下用IDA优雅调试ELF

    在windows下如何用IDA优雅调试ELF brief: 构建一个IDA-linux_server-docker镜像,优雅地IDA远程调试 使用传统虚拟机来运行一个linux程序就得跑一个完整的li ...

  4. 如何在windows下用IDA优雅调试ELF

    在windows下如何用IDA优雅调试ELF brief: 构建一个IDA-linux_server-docker镜像,优雅地IDA远程调试 使用传统虚拟机来运行一个linux程序就得跑一个完整的li ...

  5. windows下源码安装调试postgresql

    环境:windows 10 postgresql版本:postgresql-9.6.5 使用工具:vs2017社区版 辅助工具:perl.diff.flex.bison 相关工具下载地址: perl下 ...

  6. React Native在Windows下修改js代码后reload无效

    iOS下因为有watchman这个插件,所以启动很快(npm start),而Windows下则非常慢,最要命的是遇到了修改js文件后,点击reload居然一直是请求的缓存bundle,泪崩... 后 ...

  7. windows下的用户态调试的底层与上层实现

    操作系统:windows XP 调试器通过CreateProcess传入带有DEBUG_PROCESS和DEBUG_ONLY_THIS_PROCESS的dwCreationFlags创建被调试进程.这 ...

  8. 在Windows下github展示代码

    最近大爱Web编程,于是寻找各种代码中,然后就发现了GitHub这个网站,如果你知道Google Code,那么你就知道这个GitHub是做什么的了.不过GitHub主要是用作基于Git的分布式版本管 ...

  9. 怎样实如今Windows下编写的代码,直接在Linux下编译

    方法一: 怎样实如今Windows7下编写Linux程序.写完程序以后.不用复制文件,直接在Linux(RHEL6.5)机器上编译最新的代码. 1.首先将Windows的代码目录设置为共享目录: 2. ...

  10. Linux实战(20):非docker部署ELK

    部署环境: Elasticsearch:7.5.2 Kibana:7.5.2 Logstash:7.5.2 filebeat:7.5.2 redis:最新版 部署方式:rpm+二进制包 使用架构 软件 ...

随机推荐

  1. JUC源码学习笔记6——ReentrantReadWriteLock

    系列文章目录和关于我 阅读此文需要有AQS独占和AQS共享的源码功底,推荐阅读: 1.JUC源码学习笔记1--AQS独占模式和ReentrantLock 2.JUC源码学习笔记2--AQS共享和Sem ...

  2. JavaScript入门②-函数(1)基础{浅出}

    01.JS函数基础 1.1.函数定义 函数(方法)就是一段定义好的逻辑代码,函数本身也是一个object引用对象.三种函数构造方式: ① 函数申明:function 函数名(参数){代码},申明函数有 ...

  3. TypeScript 之 Interface

    Interface 描述:用来描述对象的形状,能够被继承 常用语法 ( Common Syntax ) 1. 描述普通对象 interface JsonResponse { version:numbe ...

  4. 【数据结构与算法】希尔排序 python和c++实现

    算法思路 每一次:固定间隔把数据分组,每一组进行排序 每次比上次选取更小的间隔分组,再每组排序,直到间隔为1 代码 c++:(越看越不明白了,后看) int gap = length;//length ...

  5. docker-compose + mysql8.x 主从数据库配置

    0.准备 (略过docker的安装与镜像拉取) docker / docker-compose 安装 拉取 mysql 8.x 1. master和slave的mysql配置 master: [mys ...

  6. MySQL转义字符+存储过程的使用

    MySQL中大于,大于等于,小于,小于等于的转义写法 一.左边就是原来的符号,右边就是在mybatis中代替的符号 二.如何通过mysql的存储过程创建虚拟表(临时表),并插入1000条数据 这些表通 ...

  7. 搭建漏洞环境及实战——在Windows系统中安装WAMP

    安装成功之后,打开显示 链接:https://pan.baidu.com/s/1NpU7fUYOO_CSM8dNXKdnCw 提取码:mxvw

  8. python循环结构之while循环

    在python中,除了for循环,还有一个while循环 for循环:循环次数是明确了的 while循环:循环次数不确定,循环停止条件由用户自定义 # while语句结构 while 判断条件: 执行 ...

  9. Jmeter 跨线程组传参

    某种情况下需要获取到上个线程组的返回值进行测试,但线程组与线程组之间是相互独立,互不影响.若要得到上个线程组的返回值,则可通过__setProperty()函数将所提取的值设置为jmeter 内置属性 ...

  10. 分布式注册服务中心etcd在云原生引擎中的实践

    作者:王雷 etcd是什么 etcd是云原生架构中重要的基础组件,由CNCF孵化托管.ETCD是用于共享配置和服务发现的分布式,一致性的KV存储系统,是CoreOS公司发起的一个开源项目,授权协议为A ...