Versions Compared

Key

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

장애를 허용하지 않는 시스템은, 장애를 일으키지 않는 시스템이 아니라 장애 허용개념이 고려되지 않은 시스템을 의미합니다.

장애 허용은 장애를 허용하겠다란 의미보다 장애를 시스템의 시스템 일부의 개념으로 수용하고 감내하겠다란 의미이며

고려하고
처리하겠다란 의미이며, Akka 장애허용과 관련된 자료를 정리해보았습니다.


장애허용시스템 - 위키피디아

...

링크 : https://ko.wikipedia.org/wiki/%EC%9E%A5%EC%95%A0_%ED%97%88%EC%9A%A9_%EC%8B%9C%EC%8A%A4%ED%85%9C

...

  • 부모가 자식의 생성을 책임진다. - 호출자에게 책임을 떠넘기는 구조가아닌, 부모가 책임을 지는 구조입니다.
  • 자식이 잘못 되었을때, 부모 즉 감독자가 알수있다. -모니터링
  • 부모는 자식의 생성방법(생성자의 옵션)을 알고 있기때문에, 자식를 생성할수 있는 복구할수있는 정보를 가지고 있습니다. - 계층구조 


장애처리 전략 분리

...

예외의 종류에따라, 복구(재개,재시작,중지,탈출) 전략 선택가능선택가능합니다. 

이러한 복구전략은 Actor별로도 분리될수 있습니다.

...

Code Block
themeEmacs
        protected override SupervisorStrategy SupervisorStrategy()
        {
            return new OneForOneStrategy(
                maxNrOfRetries: 10,
                withinTimeRange: TimeSpan.FromMinutes(1),
                localOnlyDecider: ex =>
                {
                    switch (ex)
                    {
                        case ArithmeticException ae:
                            return Directive.Resume;
                        case NullReferenceException nre:
                            return Directive.Restart;
                        case ArgumentException are:
                            return Directive.Stop;
                        default:
                            return Directive.Escalate;
                    }
                });
        }

더 자세한 내용 : Fault Tolerance


관련추천강의영상

Child Actor and Actor Supervision in Akka.Net (.Net Core 3.0)

Widget Connector
urlhttps://www.youtube.com/watch?v=lEUnSg9sEWg