Ada*_*dam 4 architecture apache-kafka microservices nestjs
该文档建议使用NestFactory.createMicroservice
创建一个传输订阅应用程序。
我目前有一个基于 REST 的微服务,其中包含域逻辑和与数据库的连接。我想在该微服务上订阅 Kafka 消息。是否可以在这个单一微服务的范围内做到这一点?我在文档中看不到这一点。
这让我想知道模式是否应该是:我应该创建一个额外的微服务,NestFactory.createMicroservice
它将连接到 Kafka,然后将消息分发到我的 REST API...通过 REST?这意味着其余 api 将在休息期间发生所有可能的“操作”,但间歇性微服务将根据 Kafka 的消息触发它。
如果这是真的,这是否意味着随着我的应用程序的扩展,我最终可能会为每个剩余微服务订阅一个 Kafka 微服务?或者是否会有一个订阅微服务会触发多个 REST API?或者也许......这取决于用例?
可以在嵌套中连接两种方法 - 微服务和普通应用程序。文档没有提及,但常见问题解答解释了如何制作混合应用程序。
GRPC示例展示了它的实际应用
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();
Run Code Online (Sandbox Code Playgroud)
这样你就可以将 REST API 与 kafka/rabbit/grpc 连接起来
归档时间: |
|
查看次数: |
1560 次 |
最近记录: |