我将使用DataWeave和其他mule组件将ETL作业(100)转换为Mule ESB。我在考虑是否有任何关于如何将这些放入骡子应用程序的首选设计。
一个或两个mule应用程序,每个作业的流量 VS 个人 每个工作的骡子申请
我正在考虑它如何对内存消耗,上下文,线程等产生影响。
有什么想法吗?
感谢。
答案 0 :(得分:2)
我认为拥有不同的应用程序或一个应用程序,它在性能方面并没有真正有所作为。 我认为你应该分开考虑这2个因素
除此之外,还要考虑一下这些转换是否可以成为真正的REST API,您可以根据需要请求数据,并且可以重复使用,如果是,则可以这样做。
这是我的2美分。 希望它有所帮助。
答案 1 :(得分:1)
这两个选项都是可能的 - 一个,在应用程序中使用一个流并独立部署,第二个,将多个流,多个应用程序捆绑到可部署的中。
第一种情况下的权衡是 - 相对更多的内存消耗,因为每个应用程序都在自己的线程中启动,需要管理更多应用程序,在独立部署时管理这些应用程序的细粒度控制。
在第二种情况下,内存消耗可能较低,管理较少的应用程序很容易,但要进行一次更改,还需要停止其他正在运行的ETL作业。
最好的方法可能是将相关的ETL作业合并到一个应用程序中。
答案 2 :(得分:1)
我认为将它们分开使其在长期运行时更具可扩展性和可管理性,同时牢记特定情况,如@Mauro Rocco也提到
使用这种方法,如果某个应用程序由于某种原因而失败,其他应用程序将不会受到易于维护和测试的影响,并且不会认为任何方法中的内存消耗都会有所不同