Kafka / Mock 主题,方便消费者开发

问题描述

鉴于整个 kafka 管道相当繁重, 并且需要相当多的资源。

我想模拟一个话题, 以便我可以独立/单独地测试和开发消费者。

我真的找不到太多, 我也是 Kafka 的新手。

我想我们可以有类似的东西:

docker run fake-topic -v stubs:/messages -it localhost:12345

然后, 稍后在消费者代码中:

import { ConsumerGlobalConfig,ConsumerTopicConfig } from 'node-rdkafka';

const consumer: Kafka.KafkaConsumer = new Kafka.KafkaConsumer({
  'Metadata.broker.list': 'localhost:12345',},topicConfig);

这样我们的假货就会发送一些硬编码在 stubs/*.txt

解决方法

这是一个非常轻量级的自包含 Kafka 的 Docker 配置。您可以从中构建映像并轻松运行和重新启动它:https://github.com/up9inc/async-ms-demo/tree/main/kafka

此外,您会发现围绕 Kafka 的 Mockintosh 项目功能很有用:https://www.youtube.com/watch?v=6x2rLFMdiOI