我对集成框架非常陌生。我有一个spring message listener,它接收股票的更新( S1,S2,S3 ...)。相同股票的更新需要按顺序处理,而不同股票的as更新应该并行处理。
例如,如果更新序列是S1-1、S1-2、S2-1、S1-3、S3-1、S2-2、S1-3、S3-2。那么应该有三个并行的处理流
S1-1、S1-2、S1-3
S2-1、S2-1
S3-1、S3-2
请注意,这样的股票可能有数千只。
目前,我正在使用通道上的executor并行处理所有内容。我怎样才能达到我的要求。请给我建议。谢谢。
发布于 2020-06-23 00:45:58
好吧,既然我们不能并行“数千个这样的股票”,因为产生如此多的线程效率真的很低,所以我会对每个线程进行分区和队列通道。
路由器组件可以根据请求消息决定它属于哪个分区,并发送到相应的队列通道。
这样,队列通道上的轮询器将按顺序拉取消息,但不同的队列将被并行处理。
在文档中查看更多信息:
https://docs.spring.io/spring-integration/docs/current/reference/html/message-routing.html#router
https://stackoverflow.com/questions/62516915
复制相似问题