关于春季集成,如何水平缩放文件轮询?
假设,为5s
设置了一个文件投票程序,以选择.tif
文件,而Spring Integration代码作为引导项目在一台服务器上运行。preventDuplicate()
的文件poller
有效。如果用相同的代码部署另一台服务器会发生什么?如果文件都由两台服务器进行轮询,一个接一个地,同一文件被处理两次,如何预防?在这种情况下扩展的最佳方法是什么?
如果您要扩展应用程序,则绝对需要开始思考如何在某些持久存储中分享它们之间的状态。
FileReadingMessageSource
的群集整个preventDuplicate
类比是FileSystemPersistentAcceptOnceFileListFilter
,可以使用一些可能的外部物体现有存储配置。Spring集成中通过ConcurrentMetadataStore
实现存在一些选择:https://docs.spring.io/spring-integration/docs/current/referent/referent/html/#metadata-store
否则别无选择,可以防止您解释的行为。