2017-10-25 9 views
0

내가 Akka를 (아마 Alpakka 및/또는 Lagom과 함께) 사용하는 응용 프로그램을 가지고 있다고 가정 해 봅시다.배우/에이전트 시스템이 iPaaS를 이중화합니까?

Red Hat JBoss 퓨즈와 같은 iPaaS를 계속 사용할 수 있습니까?

그렇다면 이점은 무엇입니까? 그렇지 않다면, iPaaS의 대안 인 배우 시스템의 일부라고 어떻게 부릅니까?

답변

4

배우 시스템 또는 actor model은 동시 및 비동기 프로그래밍을위한 계산 모델입니다. 이 계산 모델 자체는 객체 지향이나 함수 프로그래밍과 같은 실제 문제를 해결하지 못합니다. 액터 시스템을 적용하여 통합 문제를 해결하려는 경우 가장 중요한 것은 다양한 시스템에 대한 연결이며 Enterprise Integration Patterns (EIP)으로 설명 된 모범 사례 지원입니다.

내 이해가 정확하다면 Akka 자체는 액터 모델의 구현 일 뿐이며 다양한 기본 제공 커넥터를 제공하지 않습니다. Akka는 역사적으로 Akka-Camel 모듈 (Apache Camel은 JBoss Fuse에로드 된 핵심 통합 엔진)에 의존했지만 최근에는 Alpakka와의 기능을 대체했습니다. 그래서 여러분이 정말로 비교해야 할 것은 Alpakka와 Apache Camel입니다.

연결성 측면에서 Alpakka는 아직 개발 중입니다. 현재이 커넥터는 약 2 개의 커넥터 만 제공합니다.
https://developer.lightbend.com/docs/alpakka/0.14/connectors.html
반면에 Apache Camel은 이와 관련하여 확립 된 프레임 워크이며 280 개 이상의 커넥터 ("구성 요소")는 이미 사용할 수 있습니다.
https://github.com/apache/camel/blob/camel-2.20.0/components/readme.adoc

EIP 지원의 경우 대부분 패턴을 모두 포함해야합니다. 그러나 여기에서 강조하고 싶은 것은 Alpakka의 경우 EIP 지원이 더 베어 본 것 같습니다. 대부분 직설적이지만 다음과 같이 Akka Streams DSL을 사용하여 패턴을 구현하는 방법을 찾아야합니다.
https://developer.lightbend.com/docs/alpakka/0.14/patterns.html
반면에 Apache Camel은 EIP를 사용하기위한 내장 DSL을 제공하며, 더 간단하고 시각적으로 인식 할 수있는 패턴의 : https://github.com/apache/camel/blob/camel-2.20.0/camel-core/readme-eip.adoc
https://github.com/apache/camel/blob/camel-2.20.0/camel-core/src/main/docs/eips/split-eip.adoc


모든 정보를 제공, 당신이 당신의 통합 솔루션을 선택하는 기술을 당신에게 달려 있습니다. 특정 언어에 대한 선호도 (Java에 대한 스칼라) 등과 같은 다른 측면을 고려해야합니다. 그리고 Alpakka는 상대적으로 새로운 틀이기 때문에 향후 진화하여 비교가 유효하지 않을 수 있습니다. 그래도 아파치 카멜은 적극적으로 진화하고 있습니다.

참고 : 저는 Apache Camel 기고자이므로 Apache Camel에 편향 될 수 있습니다. 그러나 나는 가능한 한 사실적이며 객관적인 것으로 써 그것을 작성하려고 노력했다.