2014-09-11 10 views
0

Akka에서 클러스터링이 작동하는 방식을 이해하려고합니다. 특히 나는 클러스터링의 두 가지 유형에 관심이 있어요 :Akka 클러스터 유형

  • 이기종 노드, 클러스터의 각 "노드"(JVM)이 다른 배우의 혼합물을 포함하고; 그리고 각 배우

enter image description here

위의 모두 같은 유형을 nodecontains

  • 동종 노드는, 내가 이기종균일 노드가 무엇을 의미하는지의 예입니다. 첫 번째 (위) 다이어그램에서 all-actors.jarmyapp01, myapp02 및 AWS 시스템의 세 시스템에 배포됩니다. 두 번째 (아래) 다이어그램에는 3 가지 유형의 액터 시스템이 배포됩니다. 1을 각 기계에 연결하십시오. 이기종 모델은 단순함의 장점을 가지며 액터 시스템을 전체적으로 확장 가능하게 만듭니다. 동질적인 모델은 더 세밀한 탄성을 허용합니다 (아마도 우리는 "A"또는 "C"등보다 "B"Actors가 3 배 이상 필요합니다).

    1. Akka가 지원하는 두 가지 유형의 클러스터링 (이질 및 균질)이 있습니까? 그렇지 않은 경우 이러한 클러스터링 전략을 얻기 위해 필요한 것은 무엇입니까 (기존의 클러스터링에 추가됩니까?). 그렇다면 각 유형은 어떻게 구성됩니까?
    2. 각 노드에서 원하는 액터 수를 제어 할 수 있습니까? "myapp01라고 말 할 수 있습니까? 500 명의 배우, 200 명의 B 배우 및 1,000 명의 C 배우가을 원하십니까? 아니면 Akka가 메시징 요구에 반응하고 다양한 액터를 자동으로 확대/축소 할 수 있습니까?
  • +1

    * SO의 아무도 * 전에 Akka 클러스터링을 사용하지 않았습니까?!? – smeeb

    답변

    0

    Akka 클러스터링은 JVM에서 Actor System을 클러스터링하는 것과 아무 관련이 없지만 동기화 된 메모리 내 캐시에 각 Actor의 데이터를 유지하므로 스레드 액터 실행이 중단되거나 종료되면 액터의 데이터를 사용하여 동일한 유형의 액터를 실행하는 새 스레드를 재생성 할 수 있습니다.

    그래서 Akka 클러스터링은 Eraser과 같지만 할리우드 배우 대신 Akka 배우에게 적합합니다.

    +2

    JVM 전반에 걸쳐 액터 시스템을 클러스터링하기위한 것입니다. http://doc.akka.io/docs/akka/2.3.4/scala/cluster-usage.html – sourcedelica

    +0

    감사합니다 @sourcedelica (+1) -하지만 Scala 바인딩의 경우 인 것처럼 보입니다. Java 바인딩이 그렇게 작동하지 않는 것 같습니다. 당신이 보낸 그 링크에서조차도, 동종 * 또는 * 이종 * 클러스터에 대한 언급은 없습니다. – smeeb

    +2

    Akka에서 균질 또는 이종 클러스터라고하는 특정 지원은 없지만 Akka를 사용하여 이러한 유형의 클러스터를 확실히 실행할 수 있습니다. Akka 클러스터링은 기본적으로 그룹 구성원 기능이지만 다른 기능도 있습니다. 예를 들어, 역할 및 클러스터 인식 라우터를 사용하여 동종/이기종 클러스터를 구축 할 수 있습니다. – sourcedelica

    관련 문제