2014-10-08 3 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와 Microservices가 호환되지 않는다고 말합니다 : "우리는 ESB가"Eggious Spaghetti Box "를 대표한다는 Jim Webber의 말을 언급하는 것에 저항 할 수 없습니다. 이 문장은? 내 동료가 지점을 가지고, 더 일반적으로? 아파치 낙타와 같은 통합 프레임 워크에

그리고 적용이는 통합 패턴 microservices에있는 곳이 없다 의미 하는가?

답변

2

아파치 낙타 정말 ESB 아니다 (unless you want it to be)가 아니라 메시지 지향 방식으로 "물건"을 연결하는 언어/프레임 워크입니다.

간결한 구문과 유연한 스위스 군용 칼을 사용하여 microsservices에 "stuff"를 연결할 수 있다고 생각한다면 Apache Camel을 사용하십시오. 다른 방법으로 통합 코드를 해결하려는 경우 그렇게하십시오.