怎么使用Dapr+NestJs编写Pub及Sub装饰器(dapr,nestjs,pub,开发技术)

时间:2024-05-09 12:41:53 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    %E6%80%8E%E4%B9%88%E4%BD%BF%E7%94%A8Dapr%2BNestJs%E7%BC%96%E5%86%99Pub%E5%8F%8ASub%E8%A3%85%E9%A5%B0%E5%99%A8

Dapr 是一个可移植的、事件驱动的运行时,它使任何开发人员能够轻松构建出弹性的、无状态和有状态的应用程序,并可运行在云平台或边缘计算中,它同时也支持多种编程语言和开发框架。Dapr 确保开发人员专注于编写业务逻辑,不必分神解决分布式系统难题,从而显著提高了生产力。Dapr 降低了构建微服务架构类现代云原生应用的门槛。

本地使用 Docker Compose 与 Nestjs 快速构建基于 Dapr 的 Redis 发布/订阅分布式应用

NodeJS 基于 Dapr 构建云原生微服务应用,从 0 到 1 快速上手指南

用于在 JavaScript 和 TypeScript 中构建 Dapr 应用程序的客户端库。 该客户端抽象了公共 Dapr API,例如服务到服务调用、状态管理、发布/订阅、Secret 等,并为构建应用程序提供了一个简单、直观的 API。

要开始使用 Javascript SDK,请从 NPM 安装 Dapr JavaScript SDK 包:

⚠️ dapr-client 现在已弃用。

Dapr Javascript SDK 包含两个主要组件:

DaprServer: 管理所有 Dapr sidecar 到应用程序的通信。

DaprClient: 管理所有应用程序到 Dapr sidecar 的通信。

上述通信可以配置为使用 gRPC 或 HTTP 协议。

创建一个小应用程序来生成有关网站中用户行为的统计信息。

github.com/Hacker-Linn…

创建一个 decorators.ts 文件(apps/shared/decorators.ts),这样所有微服务都可以从我们即将编写的基础架构中受益。

注入 DaprClient 和 DaprServer,我们需要提供它们到 nest.js

在 app.module.ts 中让我们注册 DaprClient:

在 page-view.module.ts 中以同样的方式添加 DaprServer:

用 docker compose 启动 rabbitmq:

我们还需要配置 Dapr 组件。在根文件夹中创建一个 component/pubsub.yml:

每个 Dapr 微服务都需要自己的 config。

api/dapr/config.yml:

page-view/dapr/config.yml:

app.controller.ts 中,我们将公开一个简单的 API — /add-page-view

在我们将数据发布到队列之后,我们需要监听它并调用它:

在 page-view.controller.ts 添加:

在 shared/decorators.ts 中:

运行:

执行请求:

本文:怎么使用Dapr+NestJs编写Pub及Sub装饰器的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:如何理解构建的抽象下一篇:

8 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18