Sai*_*Sai 7 java spring scalability spring-batch
我们现有Spring Batch Application,我们希望它可以在多个节点上运行.
Spring Batch的scalabilty文档涉及代码更改和配置更改.
我只是想知道这是否可以通过配置更改来实现(添加新类并在配置中连接它很好但只是想避免对现有类的代码更改).
非常感谢您的帮助.
这真的取决于您的情况。具体来说,为什么要在多个节点上运行?您要克服的瓶颈是什么?Spring Batch开箱即用地在多个节点之间进行扩展的两种典型场景是远程组块和远程分区。两者都是主/从配置,但是每个都有不同的用例。
当步骤中的处理器成为瓶颈时,将使用远程分块。在这种情况下,主节点读取输入,并通过Spring Integration通道将其发送到远程节点进行处理。处理完项目后,结果将返回给母版进行写入。在这种情况下,读写是在本地完成的。尽管这有助于并行化处理,但由于每个项目都是通过电线发送的(因此需要保证交付,例如JMS),因此会造成I / O损失。
远程分区是另一种情况。在这种情况下,主机会为每个从机生成要处理的输入的描述,并且仅通过电线发送该描述。例如,如果您正在处理数据库中的记录,则主服务器可能会向每个从服务器发送一系列行ID(1-100、101-200等)。读写发生在从站本地,不需要保证传送(尽管在某些情况下很有用)。
这两个选项都可以使用最少(或没有)新类来完成,具体取决于您的用例。在几个不同的地方可以查找有关这些功能的信息:
在任何这些情况下,远程分块都应使用零个新类来完成。远程分区通常需要您实现一个新类(分区程序)。
| 归档时间: |
|
| 查看次数: |
5311 次 |
| 最近记录: |