emqx_bridge_pulsar {
pulsar_producer_struct {
desc = "Pulsar 桥接配置"
label = "Pulsar 桥接配置"
}
desc_type {
desc = "桥接类型"
label = "桥接类型"
}
desc_name {
desc = "桥接名字,可读描述"
label = "桥接名字"
}
config_enable {
desc = "启用(true)或停用(false)该 Pulsar 数据桥接。"
label = "启用或停用"
}
servers {
desc = "以逗号分隔的 scheme://host[:port]
格式的 Pulsar URL 列表,"
"支持的 scheme 有 pulsar://
(默认)"
"和pulsar+ssl://
。默认的端口是6650。"
label = "服务员"
}
authentication {
desc = "认证参数。"
label = "认证"
}
producer_batch_size {
desc = "在一个Pulsar消息中批处理的单个请求的最大数量。"
label = "批量大小"
}
producer_compression {
desc = "压缩方法。"
label = "压缩"
}
producer_send_buffer {
desc = "TCP socket 的发送缓存调优。默认值是针对高吞吐量的一个推荐值。"
label = "Socket 发送缓存大小"
}
producer_sync_timeout {
desc = "同步发布时,从Pulsar接收发送回执的最长等待时间。"
label = "同步发布超时"
}
auth_basic_username {
desc = "基本认证用户名。"
label = "用户名"
}
auth_basic_password {
desc = "基本认证密码。"
label = "密码"
}
auth_token_jwt {
desc = "JWT认证令牌。"
label = "JWT"
}
producer_max_batch_bytes {
desc = "最大消息批量字节数。"
"大多数 Pulsar 环境的默认最低值是 5 MB,EMQX 的默认值比 5 MB 更小是因为需要"
"补偿 Pulsar 消息编码所需要的额外字节(尤其是当每条消息都很小的情况下)。"
"当单个消息的大小超过该限制时,它仍然会被发送,(相当于该批量中只有单个消息)。"
label = "最大批量字节数"
}
producer_retention_period {
desc = "当没有连接到Pulsar代理时,信息将被缓冲的时间。 较长的时间意味着将使用更多的内存/磁盘"
label = "保留期"
}
producer_local_topic {
desc = "MQTT 主题数据源由桥接指定,或留空由规则动作指定。"
label = "源 MQTT 主题"
}
producer_pulsar_topic {
desc = "Pulsar 主题名称"
label = "Pulsar 主题名称"
}
producer_strategy {
desc = "设置消息发布时应该如何选择 Pulsar 分区。\n\n"
"random
: 为每个消息随机选择一个分区。\n"
"roundrobin
: 依次为每条信息挑选可用的生产商。\n"
"key_dispatch
: 将一批信息中的第一条信息的Pulsar信息密钥哈希到一个分区编号。"
label = "分区选择策略"
}
producer_buffer {
desc = "配置消息缓存的相关参数。\n\n"
"当 EMQX 需要发送的消息超过 Pulsar 处理能力,或者当 Pulsar 临时下线时,EMQX 内部会将消息缓存起来。"
label = "消息缓存"
}
buffer_mode {
desc = "消息缓存模式。\n"
"memory
: 所有的消息都缓存在内存里。如果 EMQX 服务重启,缓存的消息会丢失。\n"
"disk
: 缓存到磁盘上。EMQX 重启后会继续发送重启前未发送完成的消息。\n"
"hybrid
: 先将消息缓存在内存中,当内存中的消息堆积超过一定限制"
"(配置项 segment_bytes
描述了该限制)后,后续的消息会缓存到磁盘上。"
"与 memory
模式一样,如果 EMQX 服务重启,缓存的消息会丢失。"
label = "缓存模式"
}
buffer_per_partition_limit {
desc = "为每个 Pulsar 分区设置的最大缓存字节数。当超过这个上限之后,老的消息会被丢弃,"
"为新的消息腾出空间。"
label = "Pulsar 分区缓存上限"
}
buffer_segment_bytes {
desc = "当缓存模式是 disk
或 hybrid
时适用。"
"该配置用于指定缓存到磁盘上的文件的大小。"
label = "缓存文件大小"
}
buffer_memory_overload_protection {
desc = "缓存模式是 memory
或 hybrid
时适用。"
"当系统处于高内存压力时,从队列中丢弃旧的消息以减缓内存增长。"
"内存压力值由配置项 sysmon.os.sysmem_high_watermark
决定。"
"注意,该配置仅在 Linux 系统中有效。"
label = "内存过载保护"
}
producer_message_opts {
desc = "用于生成 Pulsar 消息的模版。"
label = "Pulsar 消息模版"
}
producer_key_template {
desc = "生成 Pulsar 消息 Key 的模版。"
label = "消息的 Key"
}
producer_value_template {
desc = "生成 Pulsar 消息 Value 的模版。"
label = "消息的 Value"
}
auth_basic {
desc = "基本认证的参数。"
label = "基本认证参数"
}
auth_token {
desc = "令牌认证的参数。"
label = "Token auth params"
}
producer_buffer {
desc = "配置消息缓存的相关参数。\n\n"
"当 EMQX 需要发送的消息超过 Pulsar 处理能力,或者当 Pulsar 临时下线时,EMQX 内部会将消息缓存起来。"
label = "消息缓存"
}
producer_pulsar_message {
desc = "用于生成 Pulsar 消息的模版。"
label = "Pulsar 消息模版"
}
}