多个流与单一的应用程序,我要转换ETL作业(100的)到骡子ESB使用DataWeave等骡子组成。我在考虑是否有任何关于如何将这些应用程序放入mule应用程序的首选设计。骡子 - 多种应用VS单骡子例如
一个或两个骡子应用与每个作业VS每个作业
我正在考虑如何将它使一个不同内存消耗,环境,穿线等个人 骡子的应用流
有什么想法?
谢谢。
多个流与单一的应用程序,我要转换ETL作业(100的)到骡子ESB使用DataWeave等骡子组成。我在考虑是否有任何关于如何将这些应用程序放入mule应用程序的首选设计。骡子 - 多种应用VS单骡子例如
一个或两个骡子应用与每个作业VS每个作业
我正在考虑如何将它使一个不同内存消耗,环境,穿线等个人 骡子的应用流
有什么想法?
谢谢。
我认为有不同的应用程序或一个应用程序,它并没有真正在性能方面的差异。 我想你应该在考虑这个两个因素
除此之外还要考虑如果一些这种转变可能会成为真正的REST API,你可以请求对需求数据以及可如果是的话,可能会重复使用。
这是我的2美分。 希望它有帮助。
这两个选项是可能的 - 一个,使用在应用程序中一个流动和独立地和第二展开,捆绑一个数量的流,多个应用程序的到可部署。
在第一种情况下的权衡是 - 相对更多的内存消耗,因为每个应用程序在自己的线程开始,更多的应用程序来管理,来,因为独立部署,管理这些应用程序进行细粒度的控制。
在第二种情况下,内存消耗可能较低,这将是易于管理更少的应用程序,而是让一个变化将需要停止其他工作ETL作业为好。
也许最好的办法是相关的ETL作业组合成一个应用程序。
我像@Mauro Rocco提到的那样,认为逻辑/业务分组的工作可能是这些权衡之间的平衡桥梁。感谢您的意见。 –
我觉得让他们分开使得它更具扩展性和可管理性在长期来看,在考虑到具体的情况下保持为@Mauro罗科也提到
使用这种方法,如果一个应用程序由于某种原因失败,其他应用程序将不会被简化维护和测试的影响,并且不认为内存消耗将是任何任何不同的方法
我同意,按照逻辑/业务需求对工作进行分组在这种情况下可能更明智。创建100个骡子应用程序或100个流程的单个应用程序将是维护和扩展的恶梦:)。可以创建具有公共代码的域应用程序,并且具有一些类似作业组的所有应用程序都可以进入该域。就像@Charu Khurana提到的那样,它可能会或可能不会包含所有常见的逻辑,因为域对可以在那里发生的事情有一些限制。创建一个通用的mule应用程序意味着将它包括到每个应用程序的jar/otherway中。 –