标签: dapr

如何诊断失败的 Azure 容器应用程序修订版?

我目前正在研究一些 Azure 容器应用程序快速入门。我刚刚尝试创建一个使用存储帐户状态存储启用 Dapr 的产品。它的提供状态为失败,但似乎没有其他信息。我不知道如何从容器访问任何日志,并且 Log Analytics 工作区中没有任何内容。到目前为止,我测试过的其他示例都有效,因此我认为它与 Dapr 配置有关。

有没有办法连接到容器并查看发生了什么?或者我可以在任何地方找到有关抛出的错误的更多详细信息?

azure dapr azure-container-apps

11
推荐指数
1
解决办法
2513
查看次数

如何使用 Dapr 进行单元测试?

我有一个类正在尝试进行单元测试,但它使用 DaprClient 对象(来自 SDK),该对象在我的单元测试环境中不起作用。我想创建一个模拟并使用它,但 DaprClient 实现的唯一接口是 IDisposable。

有没有办法模拟 DaprClient 进行单元测试?

我能想到的唯一解决方案是将 DaprClient 包装在一个带有接口的类中,并在任何地方使用这个包装器。这感觉真的很混乱,每次我想在 DaprClient 上使用新方法时都需要更新包装器。

我对其他可能绕过问题的解决方案持开放态度,但我更喜欢用模拟类型方法进行简单替换。

我在 Windows 上的 Visual Studio 2019 中使用 .Net 5、xUnit 和 Moq(尽管一些团队成员使用 Mac,因此需要在两个平台上工作)。

在此特定实例中,我使用DaprClient.GetBulkSecretAsync方法,但如果可能的话,我想要一个可以在其他地方使用的解决方案。

unit-testing moq xunit .net-5 dapr

7
推荐指数
1
解决办法
2434
查看次数

Zipkin 跟踪不适用于 docker-compose 和 Dapr

应该由 dapr 运行时发送到 zipkin 服务器的跟踪不知何故无法到达它。

情况如下:

我在 Windows PC 上使用 Docker Desktop。我已经从 dapr 存储库( https://github.com/dapr/samples/tree/master/hello-docker-compose )下载了示例,该示例与docker-compose up完美开箱即用。

然后我根据 dapr 文档添加了 Zipkin 支持:

  1. 在 docker-compose.yml 底部添加此服务
  zipkin:
    image: "openzipkin/zipkin"
    ports:
      - "9411:9411"
    networks:
      - hello-dapr 
Run Code Online (Sandbox Code Playgroud)
  1. 在组件文件夹中添加 config.yaml
apiVersion: dapr.io/v1alpha1
kind: Configuration
metadata:
  name: daprsystem
spec:
  mtls:
    enabled: false
  tracing:
    enabled: true
    exporterType: zipkin
    samplingRate: "1"
    expandParams: true
    includeBody: true
    zipkin:
      endpointAddress: "http://zipkin:9411/api/v2/spans"    
Run Code Online (Sandbox Code Playgroud)

当应用程序运行时,它应该将跟踪发送到服务器,但在 zipkin UI 和日志中找不到任何内容。

nodeapp-dapr_1服务的日志中开始出现奇怪的事情:从客户端证书读取 spiffe id 时出错

pythonapp-dapr_1  | time="2021-03-15T19:14:17.9654602Z" level=debug msg="found …
Run Code Online (Sandbox Code Playgroud)

zipkin docker-compose dapr

6
推荐指数
1
解决办法
2431
查看次数

Dapr Virtual Actors 与 Orleans 的使用情况

我当时正在研究虚拟演员,然后就进入了 Dapr 和 Orleans。

据我了解,Dapr 是一个更完整的框架,用于构建微服务架构,其中虚拟参与者只是提供的许多组件之一。

但特别关注虚拟演员方面,我想了解两种产品之间的主要区别/关系是什么(除了 dapr 与语言无关这一事实)以及何时应该使用其中一种产品。

是否有任何用例我们更愿意使用 Orleans 而不是 Dapr Actors,同时仍然依赖 Dapr 作为主要微服务架构框架?

actor orleans microservices dapr

6
推荐指数
1
解决办法
1685
查看次数

Dapr 和 Docker Compose 指南

我正在绕圈试图找出如何做到这一点,但我遇到了以下情况。我正在尝试将 Dapr 合并到我的 ASP.NET Core 微服务中。

我已经按照文档 ( dapr init) 在本地安装了 Dapr,因此我在本地运行了三个容器(dapr_redisdapr_placementdapr_zipkin),我可以通过 Docker Desktop(以及通过docker ps)看到它们。

我有许多 ASP.NET Core 微服务要运行,但每个服务都在自己的 Visual Studio 解决方案中...也就是说,我没有一个包含所有微服务项目的解决方案。

我的问题是,如何使用 Docker Compose 部署(和调试)单个微服务?我正在尝试弄清楚如何将 Dapr sidecar 注入到我的微服务中,同时让我的微服务引用现有且已在运行的 Redis、Placement 等 Dapr 容器。这可能吗?我已尽力遵循文档,但我似乎无法使其正常工作。我的撰写文件当前如下所示:

version: '3.4'

services:

  microservicea:
    image: ${DOCKER_REGISTRY-}microservicea
    build:
      context: .
      dockerfile: MicroserviceA/Dockerfile
    #depends_on:
    #  - redis
    #  - placement
  microservicea-dapr:
    image: "daprio/daprd:edge"
    command: ["./daprd",
      "-app-id", "microservicea",
      "-app-port", "3000",
      "-placement-host-address", "placement:50005",
      "-dapr-grpc-port", "50002",
      "-components-path", "/components"]
    depends_on:
      - microservicea
    network_mode: "service:microservicea" …
Run Code Online (Sandbox Code Playgroud)

containers docker-compose asp.net-core dapr

5
推荐指数
1
解决办法
4340
查看次数

在 dapr 中使用 ORM

目前我正在学习Dapr,我发现它对于微服务开发来说很强大,但是在阅读更多之后,我发现了一些局限性,其中最重要的是“状态管理”。

我们如何使用 EF Core 或 Dapper 等工具与 Dapr 中的数据库进行交互?DaprClient 类是与数据库交互的唯一方式吗?

sql entity-framework-core dapr

3
推荐指数
1
解决办法
1018
查看次数