生产者设置分区
spring.cloud.stream.bindings.output.producer.partitionKeyExpression=payload
spring.cloud.stream.bindings.output.producer.partitionCount=2
spring.cloud.stream.bindings.output.producer.partitionKeyExpression
:通过该参数指定了分区键的表达式规则,我们可以根据实际的输出消息规则来配置SpEL来生成合适的分区键,关于这个参数的作用详细看这里spring.cloud.stream.bindings.output.producer.partitionCount
:该参数指定了消息分区的数量
消费者设置分区
spring.cloud.stream.kafka.bindings.input.consumer.autoRebalanceEnabled=true
这个值默认就是true,多个实例会自动均衡,无需再配置instanceCount
和instanceIndex
,当设置成false后,主要是通过consumer的4个参数来决定的:
spring.cloud.stream.bindings.input.consumer.partitioned=true
spring.cloud.stream.bindings.input.consumer.instanceCount =3
spring.cloud.stream.bindings.input.consumer.instanceIndex =0
spring.cloud.stream.bindings.input.consumer.concurrency =1
instanceCount
:准备启动多少个实例instanceIndex
:实例编号,从0开始到instanceCount -1concurrency
:每个实例中启动多少个kafka consumer
参考:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/73762.html