Apache Kafka

关于Apache Kafka pubsub组件的详细文档

配置

要设置Apache Kafka pubsub,请创建一个pubsub.kafka类型的组件。 请参阅本指南,了解如何创建和应用 pubsub 配置。

  1. apiVersion: dapr.io/v1alpha1
  2. kind: Component
  3. metadata:
  4. name: kafka-pubsub
  5. namespace: default
  6. spec:
  7. type: pubsub.kafka
  8. version: v1
  9. metadata:
  10. # Kafka broker connection setting
  11. - name: brokers
  12. value: "dapr-kafka.myapp.svc.cluster.local:9092"
  13. - name: authRequired
  14. value: "true"
  15. - name: saslUsername
  16. value: "adminuser"
  17. - name: saslPassword
  18. value: "KeFg23!"
  19. - name: maxMessageBytes
  20. value: 1024

Warning

以上示例将 Secret 明文存储。 更推荐的方式是使用 Secret 组件, 这里

元数据字段规范

字段必填详情示例
brokersY逗号分隔的kafka broker列表localhost:9092, dapr-kafka.myapp.svc.cluster.local:9092
authRequiredN在Kafka broker上启用验证。 默认值为 “false”.“true”, “false”
saslUsernameN用于认证的用户名。 只有当 authRequired 设置为 true 时才需要。“adminuser”
saslPasswordN用于认证的密码。 可以用secretKeyRef来引用密钥。 只有当 authRequired 设置为 true 时才需要。 可以用secretKeyRef引用密钥“”, “KeFg23!”
maxMessageBytesN单条Kafka消息允许的最大消息大小。 默认值为 1024。2048

每次调用的元数据字段

分区键

当调用Kafka 发布/订阅时,可以通过在请求url中使用metadata查询参数来提供一个可选的分区键。

参数名是partitionKey

示例:

  1. curl -X POST http://localhost:3500/v1.0/publish/myKafka/myTopic?metadata.partitionKey=key1 \
  2. -H "Content-Type: application/json" \
  3. -d '{
  4. "data": {
  5. "message": "Hi"
  6. }
  7. }'

创建 Kafka 实例

你可以使用这个Docker镜像在本地运行Kafka。 要在没有Docker的情况下运行,请参阅入门指南

To run Kafka on Kubernetes, you can use any Kafka operator, such as Strimzi.

相关链接