【发布时间】:2017-09-27 14:10:23
【问题描述】:
我必须制作一个文件同步器:一个基本上使用 FTP、SFTP 和 NFS 将 H24 大量数据文件从外部许多系统同步到我的本地系统的应用程序。
流有 20 多个,每个流的逻辑略有不同,并且必须是可配置的。 其中一项要求是,如果其中一个流由于某种原因掉线,则必须能够在不重新启动整个系统的情况下恢复它。
另一个要求是传输速率是平衡的。换句话说,不能有一个流或其中的一部分同步并且另一个流延迟 10 小时
我对要实现的架构有些困惑:如果我实现单个多线程系统,我将拥有非常高的线程数(我会说超过 100 个),并通过满足上述两个要求使其变得复杂。
我正在考虑实现多个进程或同一进程的不同实例,即使它看起来有点“丑陋”.. 所以通过这种方式,操作系统将完成一些负载平衡,并且更容易杀死或开始一个流程..也许甚至性能可能会更好,因为几个进程可以使用更多的内存有人有任何提示/建议吗?非常感谢,对不起我糟糕的英语。吉安
【问题讨论】:
-
100 个线程不一定是高线程数,但这个问题对于 StackOverflow 来说太宽泛了。
标签: java multithreading performance architecture application-design