ListenTCP 2025.5.31.15¶
捆绑包¶
org.apache.nifi | nifi-standard-nar
描述¶
监听传入 TCP 连接并使用行分隔符作为消息分隔符从每个连接读取数据。默认行为是针对每条消息生成一个 FlowFile,但是这可以通过将批处理大小增加到更大的值来控制,从而提高吞吐量。“接收缓冲区大小”必须设置为与预期接收的最大消息一样大,这意味着如果每 100kb 有一个行分隔符,则“接收缓冲区大小”必须大于 100kb。可以将处理器配置为使用 SSL Context Service,仅允许安全连接。当连接的客户端出示用于双向 TLS 身份验证的证书时,客户端证书签发人和主体的可分辨名称会作为属性添加到传出的 FlowFiles 中。处理器不根据可分辨名称值执行授权,但由于这些值附加到传出 FlowFiles,因此可以根据这些属性实现授权。
输入要求¶
FORBIDDEN
支持敏感的动态属性¶
false
属性¶
属性 |
描述 |
---|---|
字符集 |
指定接收到数据的字符集。 |
客户端身份验证 |
用于 SSL Context 的客户端身份验证策略。仅在提供 SSL Context Service 时使用。 |
本地网络接口 |
本地网络接口的名称,用于限制对特定 LAN 的监听。 |
最大批处理大小 |
添加到单个 FlowFile 的消息的最大数量。如果有多条消息可用,则使用 <Message Delimiter> 将这些消息合并在一起,但不能超过此配置的最大消息数 |
最大 TCP 连接数 |
可用于服务 TCP 连接的最大工作线程数。 |
消息队列的最大大小 |
内部队列的最大大小,用于缓冲从底层通道传输到处理器的消息。将此值设置得较高可在传入消息大量涌入时将更多消息缓冲到内存中,但会增加处理器在激增期间使用的总内存消耗量。 |
套接字缓冲区的最大大小 |
应使用的套接字缓冲区的最大大小。此值用于向操作系统建议套接字缓冲区的大小。如果此值设置过低,缓冲区可能在数据读取之前就已填满,导致传入的数据被丢弃。 |
消息分隔符 |
指定当将多条消息捆绑在一起时,在消息之间放置的分隔符(参见 <Max Batch Size> 属性)。 |
端口 |
监听通信的端口。 |
接收缓冲区大小 |
用于接收消息的每个缓冲区的大小。根据传入的消息的预期大小适当调整此值。 |
SSL Context Service |
用于获取 SSL Context 的控制器服务。如果设置了此属性,则将通过安全连接接收消息。 |
idle-timeout |
在未收到数据的情况下,客户端连接保持打开的时间。默认值为 0 秒将让连接保持打开状态,直到客户端将其关闭。 |
pool-receive-buffers |
启用或禁用处理器用于处理套接字连接上接收的字节的缓冲池。该框架在处理过程中根据需要分配缓冲。 |
关系¶
名称 |
描述 |
---|---|
success |
成功接收的消息将从此关系中发出。 |
写入属性¶
名称 |
描述 |
---|---|
tcp.sender |
消息的发送主机。 |
tcp.port |
所收到消息的发送端口。 |
client.certificate.issuer.dn |
对于使用双向 TLS 的连接,签发客户端证书的证书颁发机构的可分辨名称将附加到 FlowFile。 |
client.certificate.subject.dn |
对于使用双向 TLS 的连接,客户端证书所有者(主体)的可分辨名称将附加到 FlowFile。 |