SpringCloud Kafka生產(chǎn)者Properties

2023-11-28 16:25 更新

以下屬性僅適用于Kafka生產(chǎn)者,并且必須以spring.cloud.stream.kafka.bindings.<channelName>.producer.為前綴。

管理員配置

預(yù)置新主題時(shí)使用的Kafka主題屬性中的Map(例如,spring.cloud.stream.kafka.bindings.input.consumer.admin.configuration.message.format.version=0.9.0.0

默認(rèn)值:無。

管理員副本分配

副本分配的Map <Integer,List <Integer >>,鍵為分區(qū),值為分配。在配置新主題時(shí)使用。請(qǐng)參見kafka-clients jar中的NewTopic javadocs。

默認(rèn)值:無。

管理員復(fù)制因子

設(shè)置新主題時(shí)要使用的復(fù)制因子。覆蓋活頁夾范圍的設(shè)置。如果存在replicas-assignments,則忽略。

默認(rèn)值:無(使用資料夾范圍的默認(rèn)值1)。

緩沖區(qū)大小

Kafka生產(chǎn)者在發(fā)送之前嘗試分批處理的數(shù)據(jù)量的上限(以字節(jié)為單位)。

默認(rèn)值:16384

同步

生產(chǎn)者是否同步。

默認(rèn)值:false。

batchTimeout

生產(chǎn)者在發(fā)送消息之前等待允許更多消息在同一批中累積的時(shí)間。(通常,生產(chǎn)者根本不等待,僅發(fā)送在上一次發(fā)送過程中累積的所有消息。)非零值可能會(huì)增加吞吐量,但會(huì)增加延遲。

默認(rèn)值:0

messageKeyExpression

根據(jù)用于填充產(chǎn)生的Kafka消息的密鑰的傳出消息(例如,headers['myKey'])評(píng)估的SpEL表達(dá)式。有效負(fù)載無法使用,因?yàn)樵谠u(píng)估此表達(dá)式時(shí),有效負(fù)載已經(jīng)采用byte[]的形式。

默認(rèn)值:none。

headerPatterns

以逗號(hào)分隔的簡單模式列表,以匹配要映射到ProducerRecord中的Kafka Headers的Spring消息頭。模式可以以通配符(星號(hào))開頭或結(jié)尾。可以使用前綴!來否定模式。 比賽在第一個(gè)比賽(正數(shù)或負(fù)數(shù))之后停止。例如,!ask,as*將傳遞ash,但不會(huì)傳遞askidtimestamp從未映射。

默認(rèn)值:*(所有標(biāo)頭-idtimestamp除外)

組態(tài)

使用包含通用Kafka生產(chǎn)者屬性的鍵/值對(duì)進(jìn)行映射。

默認(rèn)值:空地圖。

Kafka活頁夾使用生產(chǎn)者的partitionCount設(shè)置作為提示來創(chuàng)建具有給定分區(qū)數(shù)的主題(與minPartitionCount結(jié)合使用,兩者中的最大值是所使用的值)。同時(shí)為活頁夾配置minPartitionCount和為應(yīng)用程序配置partitionCount時(shí)要小心,因?yàn)槭褂昧溯^大的值。如果已經(jīng)存在一個(gè)分區(qū)數(shù)較小的主題,并且禁用了autoAddPartitions(默認(rèn)設(shè)置),則綁定器無法啟動(dòng)。如果已經(jīng)存在一個(gè)分區(qū)數(shù)較小的主題,并且啟用了autoAddPartitions,則會(huì)添加新的分區(qū)。如果已經(jīng)存在的主題的分區(qū)數(shù)量大于最大數(shù)量(minPartitionCountpartitionCount),則使用現(xiàn)有分區(qū)計(jì)數(shù)。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)