跳到内容

创建 RabbitMQ Broker

本主题介绍如何创建 RabbitMQ Broker。

先决条件

这些说明假定您的集群管理员已安装 Knative RabbitMQ broker

创建 RabbitMQBrokerConfig 对象

  1. 使用以下模板创建 YAML 文件

    apiVersion: eventing.knative.dev/v1alpha1
    kind: RabbitmqBrokerConfig
    metadata:
      name: <rabbitmq-broker-config-name>
    spec:
      rabbitmqClusterReference:
        # Configure name if a RabbitMQ Cluster Operator is being used.
        name: <cluster-name>
        # Configure connectionSecret if an external RabbitMQ cluster is being used.
        connectionSecret:
          name: rabbitmq-secret-credentials
      queueType: quorum
    
    其中

    • 是您为 RabbitMQBrokerConfig 对象选择的名称。
    • 是您之前创建的 RabbitMQ 集群的名称。

    注意

    您不能同时设置 nameconnectionSecret,因为 name 用于与 Broker 运行在同一集群中的 RabbitMQ Cluster Operator 实例,而 connectionSecret 用于外部 RabbitMQ 服务器。

  2. 通过运行命令应用 YAML 文件

    kubectl create -f <filename>
    
    其中 <filename> 是您在上一步中创建的文件的名称。

创建 RabbitMQBroker 对象

  1. 使用以下模板创建 YAML 文件

    apiVersion: eventing.knative.dev/v1
    kind: Broker
    metadata:
      annotations:
        eventing.knative.dev/broker.class: RabbitMQBroker
      name: <broker-name>
    spec:
      config:
        apiVersion: eventing.knative.dev/v1alpha1
        kind: RabbitmqBrokerConfig
        name: <rabbitmq-broker-config-name>
    
    其中 <rabbitmq-broker-config-name> 是您在上一步中为 RabbitMQBrokerConfig 指定的名称。

  2. 通过运行命令应用 YAML 文件

    kubectl apply -f <filename>
    
    其中 <filename> 是您在上一步中创建的文件的名称。

配置消息排序

默认情况下,Triggers 将一次消费一条消息以保留排序。如果事件排序不重要且希望获得更高的性能,您可以通过使用 parallelism 注解来配置此设置。将 parallelism 设置为 n 会为 Trigger 创建 n 个工作进程,它们将并行消费消息。

以下 YAML 显示了一个将 parallelism 设置为 10 的 Trigger 示例

apiVersion: eventing.knative.dev/v1
kind: Trigger
metadata:
  name: high-throughput-trigger
  annotations:
    rabbitmq.eventing.knative.dev/parallelism: "10"
...

附加信息

我们使用分析和 cookie 来了解网站流量。有关您使用我们网站的信息会与 Google 共享以达到此目的。了解更多。