Actor 기반 nFramework 구성 아이디어 - mustaine80/Scala GitHub Wiki

nFramework actor 시스템을 구성하는 단계는 다음과 같다.

  1. 메인 시스템을 실행하여 MEB actor 를 생성한다. actor 생성 시 반환되는 ActorRef 는 고정값으로 가정한다. (actor name 'MEB')

  2. UserManager 는 분산 환경 내 어떤 곳에도 위치할 수 있다. UserManager를 실행하면 UserManager actor 가 생성된다.

  3. UserManager actor 는 MEC actor 를 생성한다. actor 생성 시 반환되는 ActorRef 를 획득하여 UserManager는 MEC 에 메시지를 전달할 수 있다. 또한, MEC 생성 인자에 자신의 ActorRef 와 MEB ActorRef 를 넘김으로서, MEC 는 UserManager 와 MEB 에 메시지 전달이 가능해진다.

  4. MEC 초기화 시 mebAttatch() 메소드를 이용하여 MEB 에게 자신의 ActorRef 를 넘긴다. 이제 MEB 역시 MEC 에 대해 메시지 전달이 가능하다.

  5. NOM 에 대한 Register/Update/Send/Delete 요청은 UserManager -> MEC -> MEB 형태로 전달되며, 발생 시 처리한다.

  6. NOM 에 대한 Discover/Reflect/Recv/Remove 데이터는 MEB -> MEC 에 우선 전달되며, MEC 는 이를 1ms 주기로 처리하여 UserManager 에 전달한다.

  • actor 기반 구성을 통해 UserManager Plug-In 시 SW 가동을 중단하지 않아도 되며, 원격 머신 어느 곳에서라도 Plug-In 이 가능해짐