Akka.NET의 액터에서 예외를 처리 할 표준 패턴이 있습니까?액터 내에서 예외를 처리하는 방법은 무엇입니까?
수퍼바이저를 만드는 데 몇 가지 패턴을 보았지만 SupervisorStrategy
은 배우가 해결할 수없는 것들을 처리하는 방법입니다.
저는 많은 데이터를 받고 외부 서버에 저장해야하는 액터가 있습니다. 외부 데이터베이스에 연결할 수 없습니다. 이 경우 서버가 다시 시작되고 있거나 네트워크가 다운되었을 수 있습니다. 배우 나 기타 사항을 다시 시작할 필요가 없습니다. 보낸 사람에게 무슨 일이 발생했는지에 대한 정보를 알려 주기만하면 디스크에 메시지를 저장하고 나중에 일정을 변경할 수 있습니다.
보낸 사람이 데이터베이스에 연결하는이 액터의 부모가 아닙니다. 이 문제도 처리 할 감독자를 만들어야하나요? 또는 try/catch 블록에 수신 핸들러를 캡슐화하고 정상적인 메시지 인 것처럼 사용자 정의 응답으로 보낸 사람에게 알리기 위해 Tell
을 사용해야합니까?
나는 Failure
클래스가 있다는 것을 알고 있지만,이 상황에서이 클래스를 사용하고 있는지 확실하지 않습니다.
Roger의 답변은 정확하지만 Akka.NET에서 계층 적 감독과 오류 커널 패턴이 모두 어떻게 작동하는지에 대한 자세한 설명과 연결하고 싶습니다. http://petabridge.com/blog/how-actors-recover-from -failure-hierarchy-and-supervision/ – Aaronontheweb