我们有一个与外部系统的接口(interface),我们可以从外部系统获取平面文件并处理这些文件。目前,我们每天运行几次作业,检查文件是否位于 ftp 位置,然后处理它是否存在。 我最近读到,使用文件系统作为消息代理是一个坏主意,这就是我提出这个问题的原因。有人可以澄清像这样的情况是否适合使用其他工具,如果适合的话,哪一个? 我们的应用程序是一个基于 java 的应用程序。
最佳答案
您应该问的第一个问题是“它有效吗?”。
如果答案是肯定的,那么您应该对改变持谨慎态度,因为您认为这是一个坏主意。我听说巧克力可能对你不好,但我不会放弃它:-)
您可能会遇到潜在的问题,例如文件在您不知情的情况下被删除,或者尝试处理仅传输了一半的文件(尽管有一些方法可以缓解这两种情况) ,例如前一种情况下的权限,或者后一种情况下使用哨兵文件或内容检查)。
就我个人而言,我更喜欢消息队列系统,例如 IBM 的 MQ 或 JMS(因为它们就是为此而构建的,而且它们确实让生活变得更轻松),但是,根据上面的第二段,只有当满足以下任一条件时:
- 当前解决方案出现或变得明显的问题;或
- 您有一些空闲时间和金钱可以用于不必要的返工。
最后一个项目符号需要扩展。虽然这项工作可能是不必要的(就修复不存在的问题而言),但这并不一定意味着它毫无用处,特别是如果它可以提高性能或安全性,或减少维护工作。
关于java - 与外部系统传输数据的技术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8874868/