怎么使用Dapr+NestJs编写Pub及Sub装饰器
导读:本文共3498.5字符,通常情况下阅读需要12分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要:Dapr 是一个可移植的、事件驱动的运行时,它使任何开发人员能够轻松构建出弹性的、无状态和有状态的应用程序,并可运行在云平台或边缘计算中,它同时也支持多种编程语言和开发框架。Dapr 确保开发人员专注于编写业务逻辑,不必分神解决分布式系统难题,从而显著提高了生产力。Dapr 降低了构建微服务架构类现代云原生应用的门槛。系列本地使用 Docker Compose 与 Nestjs 快速构建基于 Da... ...
目录
(为您整理了一些要点),点击可以直达。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装饰器的详细内容,希望对您有所帮助,信息来源于网络。