Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

Akka에서의 분산처리 클러스터의 최종 목표는, 이미 작성된 클러스터 시스템을 이용만 하는것이아닌

외부 시스템만 이용을 했을때 발생하는 개발 복잡성을 줄이고  분산처리를 위한 클러스터를 직접 설계하고 구현하여  구현하여  단일지점 병목점을 해결하는데 있습니다.액터 클러스터는 단일지점이 없는, Peer To Peer 고성능 통신방식을 사용합니다. (Netty Protocol)

각노드는 특정 노드를 Seed노드(Discovery를위한) 로 지정할수 있으며

도메인 로직이 없는 Discovery 기능을 분리하여 등대(LightHouse)기능을 부여할수 있습니다. - 아파치에서는 주키퍼(동물관리자)라고 불리는 녀석과 동일한 역활을 수행

여러오픈진영에서 사용하는 클러스터의 작동방법은 동일하다고 보면 되겠습니다.

Table of Contents

...

해결하여 유연하게

확장가능한 시스템을 구현하는것입니다.

Table of Contents

클러스터 분산처리

Image Added

LightHouse(등대)는 클러스터내에 서버 발견(Discovery)과 가입/탈퇴를 관리하는 역활을 하며,

클러스터 구성을 위해 필요한 요소중 하나이며 아파치에서는 주키퍼와 유사한 역활을 합니다.

이하 등대로 표현


git : https://github.com/psmon/AkkaForNetCore/tree/master/LightHouse

클러스터 OverView

Gossip Protocol

...

  • 최초 Node1을 뛰운다.
    • A1 : Node1은 인스턴스를 뛰우고 난후, LightHouse(이하 등대 ) 에게 자신의 존재를 알린다.
  • Node2를 뛰운다
    • A2 : 노드2는 인스턴스를 뛰우고 난후, 등대에게 자신의 존재를 알린다.
    • A1 : 등대는 Node1에게 Node2의 존재를 알린다.
    • B1 : Node1은 Node2에게 인사를 하여 서로 연결을 맺어둔다.
    • A2 : 연결이 완료되었음을 등대에게 알린다.
  • Node3를 뛰운다.
    • 동일과정 : A3 → (A1,A2) → (B3,B2) → A3
  • Node1이 탈퇴(Down)한다.
    • A1 : Node1이 등대에게 탈퇴를 알린다. ( 비정상 종료시에는 등대가 Node1이 사라짐을 파악후 제거진행)
    • A3,A2 : 등대가 Node1의 탈퇴 사실을 알린다.
    • B3,B1 : Node1과의 연결을 제거한다.

...