我参与了使用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骆驼?
更普遍,确实我的同事有一个点?这是否意味着整合模式在微服务不到位?