Dapr 未在独立模式下运行

问题描述

我正在努力尝试在本地使用 Dapr 的基本 ASP.NET Core API。我已经遵循了文档,但仍然没有运气。我确定我只是缺少一些基本的东西,但我就是无法解决

这些是我迄今为止为尝试使其工作而采取的步骤:

  1. 已安装 Dapr CLI(cli 版本 0.11.0)
  2. 已执行 dapr init --runtime-version 1.0.0-rc.3(安装并运行了 3 个 docker 容器)
  3. 导航到我的 dotnet 项目并执行以下命令 - dapr run --app-id microservicea --app-port 5000 --dapr-http-port 55000 --dapr-grpc-port 55001 -- dotnet run

执行 dapr run 命令后,项目构建和各种 Dapr 日志出现,但是,我也收到以下消息:

Could not update sidecar Metadata for cliPID: PUT http://127.0.0.1:55000/v1.0/Metadata/cliPID giving up after 5 attempts

这向我表明 sidecar 没有作为进程运行,或者只是无法访问。

我不知道我做错了什么。

作为旁注,我确实注意到如果我将 dapr-http-portlaunchsettings.json 中的端口相匹配,我会收到以下消息 - You're up and running! Both Dapr and your app logs will appear here. 但它仍然不起作用当我尝试调用 http://127.0.0.1:5000/v1.0/invoke/microservicea/method/GetSomeData 端点时。

对此提供一些帮助将不胜感激。如果我不能让这个基本示例工作,那么我将不得不放弃 Dapr 并寻找替代方案来拼接我的微服务。

解决方法

您对 dapr-http-portdapr-grpc-port 使用相同的端口。那里肯定会发生港口碰撞,可能会阻止边车运行。

其次,您在错误的端口上调用。您应该使用 http://127.0.0.1:55000/v1.0/invoke/microservicea/method/GetSomeData,或者在本例中使用来自 launchsettings.json 的端口

,

所以事实证明问题是我安装了错误版本的 Dapr CLI 和 Runtime。在撰写本文时,我确保安装了 CLI 工具的 1.0.0-rc.3 版,然后安装了运行时 (dapr init --runtime-version 1.0.0-rc.3) 的 1.0.0-rc.3 版。安装后,一切正常。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...