Deployment Mule-在单个Mule实例中使用单个应用程序的多个应用程序与多个流

Deployment Mule-在单个Mule实例中使用单个应用程序的多个应用程序与多个流,deployment,mule,Deployment,Mule,我将使用DataWeave和其他Mule组件将100个ETL作业转换为Mule ESB。我正在考虑是否有任何关于如何将这些应用到mule应用程序的首选设计 一个或两个mule应用程序,每个作业和单个作业都有流程 每项工作的mule申请 我在想它对内存消耗、上下文、线程等有什么影响 有什么想法吗 谢谢。这两种选择都是可能的-一种是在应用程序中使用一个流并独立部署,另一种是将多个流、多个应用程序捆绑到一个可部署的应用程序中 第一种情况下的折衷是——每个应用程序在其自己的线程中启动时消耗的内存相对较多

我将使用DataWeave和其他Mule组件将100个ETL作业转换为Mule ESB。我正在考虑是否有任何关于如何将这些应用到mule应用程序的首选设计

一个或两个mule应用程序,每个作业和单个作业都有流程 每项工作的mule申请

我在想它对内存消耗、上下文、线程等有什么影响

有什么想法吗


谢谢。

这两种选择都是可能的-一种是在应用程序中使用一个流并独立部署,另一种是将多个流、多个应用程序捆绑到一个可部署的应用程序中

第一种情况下的折衷是——每个应用程序在其自己的线程中启动时消耗的内存相对较多,需要管理的应用程序较多,在这些应用程序独立部署时对其进行细粒度控制

在第二种情况下,内存消耗可能更低,管理更少的应用程序将更容易,但要进行一次更改,还需要停止其他正在工作的ETL作业


最好的方法可能是将相关的ETL作业合并到一个应用程序中

这两种选择都是可能的-一种是在应用程序中使用一个流并独立部署,另一种是将多个流、多个应用程序捆绑到一个可部署的应用程序中

第一种情况下的折衷是——每个应用程序在其自己的线程中启动时消耗的内存相对较多,需要管理的应用程序较多,在这些应用程序独立部署时对其进行细粒度控制

在第二种情况下,内存消耗可能更低,管理更少的应用程序将更容易,但要进行一次更改,还需要停止其他正在工作的ETL作业


最好的方法可能是将相关的ETL作业合并到一个应用程序中

我认为,拥有不同的应用程序或一个应用程序,在性能方面并没有真正的区别。 我认为你应该把这两个因素考虑进去

如果乔布斯需要共享很多公共逻辑和/或数据,那么就把它们放在同一个应用程序中 即使它们不需要共享公共逻辑,但它们服务于相同的业务需求,而不是将其保存在同一个应用程序中

除此之外,如果一些转换也可以成为真正的REST API,在这里你可以按需请求数据,并且可以被重用,如果是,那么就可以这样做。 这是我的2美分。


希望能有所帮助。

我认为,拥有不同的应用程序或一个应用程序,在性能方面并没有真正的区别。 我认为你应该把这两个因素考虑进去

如果乔布斯需要共享很多公共逻辑和/或数据,那么就把它们放在同一个应用程序中 即使它们不需要共享公共逻辑,但它们服务于相同的业务需求,而不是将其保存在同一个应用程序中

除此之外,如果一些转换也可以成为真正的REST API,在这里你可以按需请求数据,并且可以被重用,如果是,那么就可以这样做。 这是我的2美分。


希望它能有所帮助。

我认为将它们分开可以使它在长期内更具可扩展性和可管理性,同时牢记@Mauro Rocco也提到过的特定情况

在同一个应用程序中为相同的业务需求将流保持在一起 我要说的是,将公共流和逻辑放在单独的commons应用程序中,可以被多个应用程序引用。
使用这种方法,如果应用程序因某种原因失败,其他应用程序不会因易于维护和测试而受到影响,也不认为内存消耗在任何方法中都会有任何不同

我认为将它们分开可以使其在长期内更具可扩展性和可管理性,同时牢记@Mauro Rocco还提到的特定情况

在同一个应用程序中为相同的业务需求将流保持在一起 我要说的是,将公共流和逻辑放在单独的commons应用程序中,可以被多个应用程序引用。
使用这种方法,如果某个应用程序因某种原因失败,其他应用程序将不会受到影响,并且易于维护和测试,并且不认为在任何方法中内存消耗会有任何不同

我同意,在这种情况下,按逻辑/业务需求对作业进行分组可能更明智。创建100个mule应用程序或流量为100的单个应用程序将是维护和扩展的噩梦:。可以创建具有公共代码的域应用程序,并且具有类似作业组的所有应用程序都可以进入该域。正如@Charu Khurana所提到的,它可能会也可能不会提供一个包含所有公共逻辑的位置,因为域对可以放入其中的内容有一些限制。创建一个通用的mule应用程序意味着将其作为jar/otherway包含到每个应用程序中。我同意,在这种情况下,按逻辑/业务需求对作业进行分组可能更明智。创建100个mule应用程序或流量为100的单个应用程序对mainta来说将是一场噩梦
在和比例中:。可以创建具有公共代码的域应用程序,并且具有类似作业组的所有应用程序都可以进入该域。正如@Charu Khurana所提到的,它可能会也可能不会提供一个包含所有公共逻辑的位置,因为域对可以放入其中的内容有一些限制。创建一个通用的mule应用程序意味着将其作为jar/otherway包含到每个应用程序中。我认为,工作的逻辑/业务分组,如@Mauro Rocco所提到的,可能是这些权衡之间的一座平衡桥梁。谢谢你的意见。我认为,像@Mauro Rocco提到的那样,工作的逻辑/业务分组可能是这些权衡之间的一座平衡桥梁。谢谢你的意见。