Spring 云流partitionKeyExpression SpEL
Spring cloud stream partitionKeyExpression SpEL
我正在使用 spring-cloud-stream-kafka 编写一个小型压力测试,它会产生大量事件并将它们发送到特定的 Kafka 主题。
主题有 6 个分区,我想使用用户 ID 作为分区键。但是,用户 ID 并不总是存在,所以我希望逻辑是这样的:如果存在,则按用户 ID 进行分区,否则发送到随机分区。
有没有办法使用
spring.cloud.stream.bindings.output.producer.partitionKeyExpression
属性 实现想要的行为?
P.S。我能够创建一个提取器 class 来执行此操作,但我想知道是否有一种方法可以使用 Spel 来实现。
谢谢,
马可
类似
payload.userId ?: Math.random() * 6
?
我正在使用 spring-cloud-stream-kafka 编写一个小型压力测试,它会产生大量事件并将它们发送到特定的 Kafka 主题。
主题有 6 个分区,我想使用用户 ID 作为分区键。但是,用户 ID 并不总是存在,所以我希望逻辑是这样的:如果存在,则按用户 ID 进行分区,否则发送到随机分区。
有没有办法使用
spring.cloud.stream.bindings.output.producer.partitionKeyExpression
属性 实现想要的行为?
P.S。我能够创建一个提取器 class 来执行此操作,但我想知道是否有一种方法可以使用 Spel 来实现。
谢谢, 马可
类似
payload.userId ?: Math.random() * 6
?