- 액터는 근로자입니다. 그들은 일을하고 성과를 되돌려 주거나 다른 근로자들을 감독합니다. 일반적으로 배우에게 단일 책임을 부여하기를 원합니다.
- 이론적으로, 디렉토리의 내용을 처리하거나, 각 파일을 작업하거나, 발견 된 각 디렉토리에 대해 액터를 생성하는 액터를 가질 수 있습니다. 파일 처리 시간이 길어질수록 시스템이 오래 걸리기 때문에 이것은 좋지 않습니다.
- 액터 시스템을 정상적으로 중지시키는 데는 여러 가지 방법이 있습니다. Akka 문서에는 그 중 몇 가지가 언급되어 있습니다.
- 액터에 대한 요청을 대기열에 넣거나 액터가 임계 값 이하로 액터를 스폰하고 액터가 끝나면 카운트를 감소시키는 액터 관리자를 가질 수 있습니다. 이것은 감독자 배우의 일입니다. 감독자는 모니터하는 동안 한쪽에 앉아 있거나 작업을 파견 할 수 있습니다. Akka는 액터 모델을 통해 이러한 접근 방식을 구현합니다.
- 예, 사서함의 크기를 제어하는 여러 가지 방법이 있습니다. 설명서를 읽으십시오.
- 순진한 재귀 순회와 같이 잘못된 방식으로 파일 조작을하면 다른 처리를 차단할 수 있습니다.
먼저주의해야 할 점은 파일 계층 구조를 탐색하고 개별 파일을 처리하는 두 가지 작업 유형이 있다는 것입니다. 첫 번째 구현에서 액터 A와 액터 B의 두 액터를 만듭니다. 액터 A는 파일 시스템을 가로 지르고 처리 할 파일의 경로로 액터 B에 메시지를 보냅니다. 액터 A가 완료되면 액터 B에 "모두 완료"표시기를 전송하고 종료합니다. 행위자 B가 "완료 됨"표시기를 처리하면 종료됩니다. 이것은 액터 사용법을 배우는 데 사용할 수있는 기본 구현입니다.
다른 모든 것은 이에 대한 변형입니다. 다음 변형은 공유 사서함이있는 두 명의 액터 B를 만들 수 있습니다. 셧다운은 좀 더 복잡하지만 여전히 직관적입니다. 다음 변형은 하나 이상의 배우 B에게 작업을 배급하는 디스패처 배우를 만드는 것입니다. 다음 변형본에서는 여러 액터 A를 사용하여 파일 시스템을 탐색하고 수퍼바이저가 생성되는 액터 수를 제어합니다.
이 개발 계획을 따르면 Akka 사용 방법에 대해 많은 것을 배울 수 있으며 모든 질문에 대답 할 수 있습니다.