在我的公司,我们有许多数据源和处理在任何一天运行。 Feed和处理步骤的数量开始超出了当前管理它的临时管理能力。是否有一个很好的解决方案可以帮助记录和管理/调度依赖项?
例如:
A:当文件x被FTP下载到目录D1中时,启动处理步骤B
B:将平面文件加载到DB1中
C:当文件y被FTP放入目录D2时,启动处理步骤D
D:将平面文件加载到DB11中
E:完成B和D后,通过数据流失,并将新数据加载到DB111中
F:完成步骤E后,启动申请流程P
G:等......
我希望这些步骤在适当的时间运行,更不用说B是否失败,没有理由执行步骤E& F,但我仍然可以运行C& D.当我成功重新运行B时,它应该触发E& F重新运行,而不是C& d。
我们是.NET / C#/ Sql Server商店,我已经熟悉SSIS了。这真的是最好的吗?它可以很好地管理步骤,但不能管理外部依赖项或日志记录。首选开源(.NET),但不是必需的。
答案 0 :(得分:1)
您可能想要查看服务总线。一些选择:
MassTransit(http://docs.masstransit-project.com/en/latest/overview/backstory.html)虽然它在页面上显示,“我们不做FTP-> WS-deathstar-> BS(不是你不能,它只是不在方框)。“
Mule ESB。 (http://www.mulesoft.org/)开源和基于Java。你绝对可以用它来做FTP,目录监控,用JDBC调用数据库等等。
Windows Azure Service Bus。 (http://www.windowsazure.com/en-us/services/messaging/)基于云,适用于消息传递。您可以编写辅助角色来监视FTP等。