Skip to main content

PublishKafka

描述:

通过Apache Kafka 0.9.X版本的生成API来将输入数据流内容作为消息发送。要发送的消息可以是单独的数据流,也可以是分隔符分隔的(使用自定义分隔符,比如”换行“) 。与发送消息的Kafka组件 ConsumeKafka 相对应。

标签:

Apache, Kafka, Put, Send, Message, PubSub, 0.9.x, 发送, 消息

参数:

如下列表中,必填参数则标识为加粗. 其他未加粗参数,则表示为可选参数。表中同时提到参数默认值设置, 并且 参数还支持 表达式语言.

名字默认值允许值列表描述
Kafka Brokerslocalhost:9092由英文逗号分隔的Kafka Brokers列表,其基本格式为 <host>:<port>

支持表达式语言 (仅支持变量)
安全协议PLAINTEXT
- PLAINTEXTPLAINTEXT
- SSLSSL
- SASL_PLAINTEXTSASL_PLAINTEXT
- SASL_SSLSASL_SSL
用于Broker通信的协议, 对应于Kafka的 'security.protocol'属性设置
Kerberos服务名用于Kafka运行的Kerberos Principal名,该参数既可在Kafka的JAAS配置也可以在Kafka的配置中。对应于 Kafka的 'security.protocol'属性设置, 当<安全协议>的SASL选项被选择,否则将被忽略。
SSL服务控制器服务API:
SSLContextService
实现:
StandardRestrictedSSLContextService
StandardSSLContextService
指定用于通信Kafka的SSL服务
主题名消息消费的Kafka主题名。

支持表达式语言 (支持流属性和变量)
消息保证策略高性能
- 高性能数据流将在成功写入到Kafka节点后直接输出到成功连线,而无需等待响应。该策略提供了最好的性能,但可能导致的结果就是数据丢失。
- 单节点保证当消息被单个Kafka节点收到后,数据将输出到成功连线。该策略将比&lt;重复保证&gt;高效,但当Kafka节点崩溃将导致数据丢失。
- 重复保证除非根据主题配置将消息复制到适一定数量的Kafka节点,否则数据流将输出到失败连线
指定发送到Kafka的消息保证策略。 对应于Kafka的'acks'属性设置.
用于消息的键。如果不设置,将尝试用数据流上的'kafka.key'属性值作为键。需要注意的是可能会有许多具有相同键的消息,通常情况下,这不是问题,Kafka不强制或假定消息必须是唯一键,但是,同时设置界定符和键会造成数据丢失风险。 在Kafka主题压缩过程中,消息将基于键被消除重复

支持表达式语言 (支持流属性和变量)
键属性编码UTF-8编码
- UTF-8编码键值是通过UTF-8编码的字符串
- 16进制编码键的二进制值是通过16进制编码的大写字符串
数据流上属性名为'kafka.key'的键,该参数决定该属性值的编码
消息界定符Kafka支持批量的接收消费消息,并提供途径,依据主题和分区来输出单个的消息数据流,该参数就是提供一个字符串(UTF-8)来界定多个消息。如果不设置,则Kafka每接收到的消息将作为一个整体的数据流输出。该参数支持特殊的字符,比如'换行'( CTRL+Enter 或者 Shift+Enter,依据不同的系统)

支持表达式语言 (支持流属性和变量)
最大请求字节数1 MB消息的最大请求的字节数,对应于Kafka的'max.request.size'属性设置,且默认值为1 MB (1048576).
应答等待时间5 secs指定发送消息后等待响应的最大时间,如果Kafka在该时间内没有应答消息,则数据流将输出到失败连线
元数据等待时间5 sec发布者将等待获取元数据或在发送被调用时等待缓冲区写入的时间。 对应于Kafka的'max.block.ms'属性设置

支持表达式语言 (仅支持变量)
分区算法类默认(随机分配)
- 循环分配消息将按循环的方式分配分区,比如第一个消息分配到第一分区,第二个到第二分区,以此类推,然后再从第一个开始.
- 默认(随机分配)将分配随机分区
指定用于计算消息分区号的算法类。 对应于Kafka的'partitioner.class'属性设置
压缩类型不压缩
- 不压缩
- gzip
- snappy
- lz4
用于指定所有生产者生成的数据的压缩编码

动态参数:

名字描述
The name of a Kafka configuration property.The value of a given Kafka configuration property.在加载提供的配置之后,这些属性将被添加到Kafka的配置中,如果动态属性是已设置的属性,则其值将被忽略并记录警告消息。有关可用Kafka属性的列表,请参阅: http://kafka.apache.org/documentation.html#configuration.
不支持表达式语言

连线:

名字描述
success所有成功发送到Kafka的内容将输出到此成功连线
failure任何不能发送到Kafka的数据流将输出到此失败连线

读取属性:

未提供。

写入属性:

名字描述
msg.count发送到Kafka的消息数. 仅成功数据流上具有该属性。如果不设置 <消息界定符> ,则该属性将始终是1,但是如果设置,则可能大于1

状态管理:

该组件不保存状态。

限制:

该组件没有限制

输入流要求:

组件必须提供输入流。

系统资源考量:

未提供。