Versions Compared

Key

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

...

  Akka는 기본적으로 탑레벨 아키텍쳐의 설계방식으로 Actor를 위치시키고 접근을 하며 (최상위부터 생성하여 구조화하는 방식 )

다음과같은 특성이 있습니다.

  • 액터접근 : 트리구조이지만, FullName을 알고있을시 최하위 자식노드에게 직접 리모트 메시지전송이 가능합니다.
  • 액터접근 :  가령 someActor의 자식에게 모두 메시지를 보내고 싶으면 someActor/* 를 할수 있습니다.
  • 라우팅화 가능 : 분산처리를 위해 자식노드에게 다양한 라우팅을 지정할수 있습니다. 가령 순차적으로 분산처리 해야한다고하면 라운드 로빈으로 자식 액터 배치가 가능합니다.
  • 리모트 액터 : 모든게 메시징를 통해서만 명령이 전달되며 로컬과 리모트의 차이가 없습니다.
  • 클러스터 : 로컬과 리모트의 차이가 없다란것은 로컬로 개발된 액터가 약간의 코드수정으로 단일지점 병목없는 클러스터화 가능합니다.

...

Supervisor을 통한 장애처리

Child 액터가 장애발생시, 디양한 다양한 복구전략( 3초간 30초동안시도)을 통해 Child액터의 복구가 가능하다가능합니다. 

Code Block
languagec#
themeEmacs
linenumberstrue
var supervisor = BackoffSupervisor.Props(
                    Backoff.OnFailure(
                        childProps,
                        childName: "supervised-actor",
                        minBackoff: TimeSpan.FromSeconds(3),
                        maxBackoff: TimeSpan.FromSeconds(30),
                        randomFactor: 0.2)
                    );



Include Page
webfr:Fault Tolerance
webfr:Fault Tolerance