gpt4 book ai didi

apache-kafka - Nestjs中的NestFactory.create可以订阅kafka上的topic吗?

转载 作者:行者123 更新时间:2023-12-04 13:11:50 34 4
gpt4 key购买 nike

文档建议使用 NestFactory.createMicroservice 创建传输订阅应用。

我目前有一个基于 REST 的微服务,其中包含领域逻辑和数据库连接。我想在该微服务上订阅 Kafka 消息。是否可以在这个单一微服务的范围内做到这一点?我在文档中看不到。

这让我想知道模式是否应该是:我应该使用 NestFactory.createMicroservice 创建一个额外的微服务,它将连接到 Kafka,然后将消息分发到我的 REST API ......通过 REST?这意味着 rest api 将在 rest 上发生所有可能的“操作”,但间歇性微服务将根据 Kafka 的消息触发它。

如果那是真的,这是否意味着随着我的应用程序扩展,我最终可能会为每个休息微服务提供一个 Kafka 订阅微服务?或者是否会有一个订阅微服务会触发多个 REST API?或者……这取决于用例?

最佳答案

可以在 nest 中连接两种方法 - 微服务和普通应用程序。文档没有提到它,但常见问题解答解释了如何制作 Hybrid application .

GRPC example在行动中展示它

import { NestFactory } from '@nestjs/core';
import { MicroserviceOptions } from '@nestjs/microservices';
import { AppModule } from './app.module';
import { grpcClientOptions } from './grpc-client.options';

async function bootstrap() {

const app = await NestFactory.create(AppModule);
app.connectMicroservice<MicroserviceOptions>(grpcClientOptions);

await app.startAllMicroservicesAsync();
await app.listen(3001);
console.log(`Application is running on: ${await app.getUrl()}`);
}
bootstrap();

这样你就可以让rest api与kafka/rabbit/grpc连接

关于apache-kafka - Nestjs中的NestFactory.create可以订阅kafka上的topic吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64347565/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com