首页 > 解决方案 > 不同 Kubernetes 集群上的 Kafka 生产者和消费者

问题描述

Kafka 需要安装在消费者集群上吗?

目前相同的集群 YAML 配置是:

apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
  name: sample-topic
spec:
  type: bindings.kafka
  version: v1
  metadata:
  # Kafka broker connection setting
  - name: brokers
    value: dapr-kafka.kafka:9092
  # consumer configuration: topic and consumer group
  - name: topics
    value: sample
  - name: consumerGroup
    value: group1
  # publisher configuration: topic
  - name: publishTopic
    value: sample
  - name: authRequired
    value: "false"

在不同的集群上,每个集群是否只需要“name:publishTopic”或“name:consumerGroup”而不需要另一个?

标签: kubernetesapache-kafka

解决方案


我不熟悉 Dapr,但 Kafka 不需要安装在 k8s 或任何特定位置。您唯一的要求应该是客户端连接到该引导服务器列表。

根据Kafka Binding 规范,consumerGroup 用于传入事件,而 publishTopic 用于传出事件,因此有两种不同的用例,尽管一个应用程序应该能够同时具有两种事件类型。如果应用程序仅使用传入或传出事件,则针对该情况使用适当的绑定。


推荐阅读