【发布时间】:2015-08-30 12:09:38
【问题描述】:
我们在 POC 中使用远程分区,我们处理大约 2000 万条记录。为了处理这些记录,slave 需要一些大约 5000 行的静态元数据。我们当前的 POC 使用 EhCache 将这些元数据从 db 一次加载到 slave 中并将其放入缓存中,因此后续调用只需从缓存中获取此数据以获得更好的性能。
现在由于我们使用远程分区,我们的从属服务器大约有 20 个 MDP/线程,因此每个消息侦听器首先调用以从 db 获取元数据,因此基本上每台远程机器上都有 20 个线程同时访问 db。我们现在有 2 台机器,但会增长到 4 台。
我的问题是,有没有更好的方法可以像在作业开始之前那样只加载一次元数据,并且所有远程从站都可以访问?
或者我们可以在远程 stap 中使用步进监听器吗?我不认为这是一个好主意,因为它将在每个远程步骤执行时执行,但需要专家对此的想法。
【问题讨论】:
标签: spring-batch