跳至主内容
版本:4.2

运行时参数

概述

虽然 RabbitMQ 的大部分配置都位于配置文件中,但有些配置项与使用配置文件并不兼容。

  • 如果它们需要在集群中的所有节点上保持一致
  • 如果它们很可能在运行时发生变化

RabbitMQ 将这些项称为参数。可以通过调用rabbitmqctl 或通过HTTP API 来设置参数。

参数有两种类型:虚拟主机范围的参数和全局参数。前者顾名思义,与某个虚拟主机关联,由组件名称、名称和值组成。

例如,动态Shovel 是使用运行时参数定义的。它属于一个虚拟主机,有一个标识它的名称,其组件类型设置为"shovel"

全局参数不与特定虚拟主机关联,它们由名称和值组成。

重要

参数使用的一个重要示例是策略

每个虚拟主机参数

如上所述,有 vhost 范围的参数和全局参数。vhost 范围参数的一个例子是 Federation Upstream:它指向一个组件(federation-upstream),有一个标识它的名称,它与某个虚拟主机关联(Federation 链接将指向该虚拟主机的某些资源),其值定义了到上游代理的连接参数。

可以设置、清除和列出虚拟主机范围的参数。

# sets a runtime parameter in a virtual host
rabbitmqctl set_parameter [-p vhost] <component_name> <name> <value>

# lists runtime parameters in a virtual host
rabbitmqctl list_parameters [-p vhost]

# clears (unsets) a runtime parameter in a virtual host
rabbitmqctl clear_parameter [-p vhost] <component_name> <name>

全局参数

全局参数是另一种类型的参数。全局参数的一个例子是集群的名称。可以设置、清除和列出全局参数。

# sets a global (virtual-host-independent) runtime parameter
rabbitmqctl set_global_parameter <name> <value>

# lists global (virtual-host-independent) runtime parameters
rabbitmqctl list_global_parameters

# clears (unsets) a global (virtual-host-independent) runtime parameter
rabbitmqctl clear_global_parameter <name>

由于参数值是 JSON 文档,因此在使用 rabbitmqctl 在命令行上创建参数时,通常需要对其进行引用。在 Unix 系统上,通常最简单的方法是用单引号引用整个文档,并在其中使用双引号。在 Windows 系统上,您必须转义每个双引号。因此,我们提供了 Unix 和 Windows 的示例。

参数驻留在 RabbitMQ 用于定义虚拟主机、交换器、队列、绑定、用户和权限的数据库中。参数与管理插件的导出功能一起导出,与其他对象定义一起导出。

Federation 和 Shovel 插件使用虚拟范围的参数。

全局参数用于存储各种集群级别的元数据,例如集群名称、集群标签,以及内部节点元数据,例如导入的定义的哈希值。

集群名称

集群名称使用全局运行时参数存储。可以使用专用的 CLI 命令更新它。

rabbitmqctl set_cluster_name rabbit@id-3942837

集群标签

集群标签是描述集群的任意键值对。运营商可以使用它们来附加特定于部署的信息。

集群标签存储在一个名为 cluster_tags 的全局参数中。它们也可以使用 rabbitmq.conf 预先配置。

cluster_tags.series = 4.1.x

cluster_tags.purpose = iot_ingress
cluster_tags.region = ca-central-1
cluster_tags.environment = production

要检索标签列表,请列出全局运行时参数,或获取名为 cluster_tags 的全局运行时参数,或使用 rabbitmqadmin v2snow overview 命令。

# lists global (virtual-host-independent) runtime parameters
rabbitmqctl list_global_parameters

策略

策略现已在专门的指南中进行了记录。

运营商策略

运营商策略现已在策略指南中进行了记录。

© . This site is unofficial and not affiliated with VMware.