2014-10-08 20 views
-1

我参与了使用Spring Cloud和Apache Camel的服务的设计。当一位同事问我(我们是否真的需要阿帕奇骆驼)时,我感到吃了一惊(可能会提倡更好的术语)。从他的角度来看,我们谈到的大多数下游系统都是基于REST的,因此不需要集成框架。如果我的回忆是正确的,他还暗示微服务和集成框架是不兼容的。使用Spring Cloud时,Apache Camel无关紧要吗?

我开始激动地提出Spring Cloud帮助解决部署/操作问题,而集成框架解决了集成问题并且他们有正交的需求。

这里有一些系统将用来通信的协议:

REST 
SOAP 
AMQP 
Azure SDK 
AWS SDK (S3, SimpleBD, etc.) 
Dropbox SDK 
Paypal SDK 
Braintree SDK 
Caching (Memcached, EhCache) 
Async (VM, Direct-VM, SEDA, SEDA-VM) 
Facebook 
Twitter 
FTP 
SMTP 
File IO 
SOLR/Elesticsearch 
Quartz 

未知协议:正如我们在客户环境中集成我们需要与他们的系统集成。通信协议尚不清楚。

Martin Fowler和James Lewis的以下声明似乎表明ESB和微服务是不兼容的:“我们不能抗拒Jim Webber关于ESB代表”Egregious Spaghetti Box“的说法。现在,您觉得多远此声明适用于一个集成框架,如Apache骆驼?

更普遍,确实我的同事有一个点?这是否意味着整合模式在微服务不到位?

回答

2

Apache的骆驼是不是一个真正的ESB (unless you want it to be),而是以面向消息的方式连接“东西”的语言/框架。

如果您觉得您可以使用简洁的语法和灵活的瑞士军刀将微型服务中的“东西”连接起来,那么一定要使用Apache Camel。如果您想用其他方式解决您的集成代码,请这样做。

相关问题