kubernetes - 不同 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”而不需要另一个?
解决方案
我不熟悉 Dapr,但 Kafka 不需要安装在 k8s 或任何特定位置。您唯一的要求应该是客户端连接到该引导服务器列表。
根据Kafka Binding 规范,consumerGroup 用于传入事件,而 publishTopic 用于传出事件,因此有两种不同的用例,尽管一个应用程序应该能够同时具有两种事件类型。如果应用程序仅使用传入或传出事件,则针对该情况使用适当的绑定。
推荐阅读
- unit-testing - 你如何使用 Dapr 进行单元测试?
- javascript - ES6 模块在 Safari mobile (iOS14.6) 上失败
- c# - 以异步方法获取剪贴板文本
- python - Python3 - 如何迭代和删除 CSV 中的条目?
- c - OpenWrt Makefile 包含 package.mk 错误
- mysql - 如何加入带有小型文本数据集的表格?
- json - 在flutter中从json api获取数据时出错
- python - 如何使用pyspark计算两个ArrayType列之间的元素乘法
- python - Python程序使用递归函数问题来反转数字
- azure - 在 Azure 中配置和验证 Vnet