【发布时间】:2010-12-11 08:08:46
【问题描述】:
我的公司目前使用基于 Windows 的胖客户端应用程序为他们的客户提供服务,该应用程序嵌入了工作流处理。基本上,客户将一组文档插入到工作流的开头,这些文档通过多个工作流步骤进行处理,然后在一段时间后将输出呈现给客户。我们目前通过在其他机器上安装应用程序并让机器集群在不同的文档子集上工作来为更大的客户扩展。不理想,但对应用程序的改动很小,它确实让我们能够轻松地扩展到我们当前的水平。
我们现在面临的问题是,随着我们的客户向我们提供了更大的文档集,我们发现自己在机器、IT 支持等方面的支出超出了预期......因此,我们开始考虑重新构建平台使其可扩展。我们解决方案的一个特点是每个文档都可以相互独立地处理。此外,我们还有 10 个工作流程步骤,其中两个步骤占用了大约 90% 的处理时间。
我们正在考虑的一个想法是在文档架构中添加一个工作流步骤字段,以跟踪为文档完成了哪个工作流步骤。然后,我们可以让整个机器集群处理单个文档集。单台机器将不负责通过所有工作流程步骤按顺序处理文档,而是在数据库中查询下一个文档/工作流程步骤对并执行该处理。这听起来像一个合理的方法吗?有什么建议吗?
提前致谢。
【问题讨论】:
标签: windows architecture distributed