Skip to content

创建 RabbitMQ Broker

本节介绍如何创建 RabbitMQ Broker。

先决条件

  1. 您已经安装了 knative 事件
  2. 已安装CertManager v1.5.4 - 与 RabbitMQ 消息拓扑操作符最简单的集成
  3. 您已经安装RabbitMQ 消息传递拓扑操作符 - 我们的建议是使用 CertManager 的最新版本
  4. 你可以访问一个正在工作的 RabbitMQ 实例。你可以使用RabbitMQ 集群 Kubernetes 操作符来创建一个 RabbitMQ 实例。更多信息请参见RabbitMQ 网站.

安装 RabbitMQ 控制器

  1. 运行命令安装 RabbitMQ 控制器:
kubectl apply -f https://storage.googleapis.com/knative-nightly/eventing-rabbitmq/latest/rabbitmq-broker.yaml
  1. 验证rabbitmq-broker-controllerrabbitmq-broker-webhook正在运行:
kubectl get deployments.apps -n knative-eventing

示例输出:

NAME                           READY   UP-TO-DATE   AVAILABLE   AGE
eventing-controller            1/1     1            1           10s
eventing-webhook               1/1     1            1           9s
rabbitmq-broker-controller     1/1     1            1           3s
rabbitmq-broker-webhook        1/1     1            1           4s

创建一个 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
    

    在哪里:

    • <rabbitmq-broker-config-name> 是你想要的 RabbitMQBrokerConfig 对象的名称。
    • <cluster-name> 是之前创建的 RabbitMQ 集群的名称。

    Note

    你不能同时设置nameconnectionSecret, 因为name是针对与Broker运行在同一集群中的RabbitMQ集群操作实例, 而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: rabbitmq.com/v1beta1
        kind: RabbitmqBrokerConfig
        name: <rabbitmq-broker-config-name>
    

    其中<rabbitmq-broker-config-name>是你在上面步骤中给你的 RabbitMQBrokerConfig 的名称。

  2. 运行以下命令应用 YAML 文件:

    kubectl apply -f <filename>
    

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

配置消息排序

默认情况下,触发器每次使用一条消息以保持顺序。 如果事件的顺序并不重要,并且希望获得更高的性能,那么可以通过使用parallelism注释来配置。 将parallelism设置为n为触发器创建n个 worker,这些 worker 都将并行使用消息。

下面的 YAML 显示了一个并行度设置为10的触发器示例:

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

额外的信息

Back to top

We use analytics and cookies to understand site traffic. Information about your use of our site is shared with Google for that purpose. Learn more.

× OK