2
我想找到春季云流的例子,它为RMQ创建基于parition的制作人。我想看看它将如何为这些队列创建绑定,因为RMQ不是本地支持主题的划分,但它会创建与分区数相当的队列数(我读过这个,可能是错的)。首先,我想了解如何使用基于分区的生产者的RMQ上的spring云流创建生产者。如何使用RMQ和spring云流来创建基于分区的生产者?
我想找到春季云流的例子,它为RMQ创建基于parition的制作人。我想看看它将如何为这些队列创建绑定,因为RMQ不是本地支持主题的划分,但它会创建与分区数相当的队列数(我读过这个,可能是错的)。首先,我想了解如何使用基于分区的生产者的RMQ上的spring云流创建生产者。如何使用RMQ和spring云流来创建基于分区的生产者?
@SpringBootApplication
@EnableBinding(Source.class)
public class So43614477Application implements CommandLineRunner {
public static void main(String[] args) {
SpringApplication.run(So43614477Application.class, args);
}
@Autowired
private MessageChannel output;
@Override
public void run(String... args) throws Exception {
output.send(MessageBuilder.withPayload("fiz").setHeader("whichPart", 0).build());
output.send(MessageBuilder.withPayload("buz").setHeader("whichPart", 1).build());
}
}
与性能...
spring.cloud.stream.bindings.output.destination=foo
spring.cloud.stream.bindings.output.producer.partition-key-expression=headers['whichPart']
spring.cloud.stream.bindings.output.producer.partition-count=2
spring.cloud.stream.bindings.output.producer.required-groups=bar
我加入了required-groups
所以你可以看到消费者队列如何绑定。
foo
exhange绑定:
该表达式可以是针对消息(例如payload.hashCode()
)来评价任何有效的表达;然后根据分区计数修改%
以确定最终分区。
谢谢,我错过了required-groups属性。我试图发送对象,并设置spring.cloud.stream.bindings.processedDataChannel.content-type = application/json后,它的工作正常。我将对此进行更多探讨,并会继续阅读文档。现在有很多问题需要考虑,但是让我先尝试一些事情,然后提交大量文章/文章/文档。再次感谢您让我开始! – user3444718