我已经ApacheCamel
+ ActiveMQ
启动并运行了大约8条不同的路线。当我们有2条路线时,它开始很好。路由数量正在增长(目前为10个),添加新路由的过程涉及更新现有路由代码,测试,部署等。
我真正想要的是真正的ESB
,其中可以安装,启动,停止或卸载捆绑/服务,而不会影响其他捆绑/服务。
我做了一些研究,JBOSS Fuse
似乎是我们实现上述目标的正确选择。我有几个问题,希望你们能帮助我:
Spring
项目下。它们应该分成单个包(使用Spring-dm
)吗?这是每个路线一个捆绑ESB
?答案 0 :(得分:0)
要使用Apache Camel选择基于OSGi的ESB斜杠容器框架,ServiceMix是最古老的,然后是Fuse ESB,并且已经重命名为Fuse Fabric。
因此,既然您有机会重新开始,选择Fuse Fabric或开源版Fabric8将是不错的选择。
在Fuse Fabric文档中阅读有关包,功能和配置文件如何工作的信息。
在您的情况下,您将基于已编译的软件包构建功能,您将能够彼此独立地更新和部署功能,并且您将能够简单地控制所有功能的发布级别通过配置文件的功能。
e.g。
myapp-profile 1.1
firstapp-1.0
bundle1
bundle2
secondapp-1.2
bundle3
bundle4
(+configuration)
回答你的问题:
http://www.jboss.org/products/fuse/overview/
http://www.jboss.org/products/fuse/resources/#demos
如果您希望能够独立停止,启动和升级您的路线,它们应该是单独的捆绑包。如果你愿意,你肯定可以在一个包中有多个路由,但每个捆绑一个路由完全没问题。请注意Fuse Fabric
使用blueprint
作为默认DI框架(类似于spring,但不一样),因为它符合OSGi,我无法对Spring-dm
发表评论因为我还没有使用它。
Fuse Fabric
是否是真正ESB
的正确选择,取决于您是通过简单的概念验证来决定还是评估。其他选择是fabric8
(基本上是相同的)或供应商解决方案,如Mule
。根据我自己的经验,尽管这是一个主观和个人观点,但Fuse Fabric非常出色。