Versions Compared

Key

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

멀티 플레이어 게임메시지 설계를 통해 AKKA-액터모델의 특징을 알아보겠습니다.


이 아티컬의 목표 : 여기서 진행되는 설계방식이 항상 권장되는 아키텍처는 아니며

웹소켓과 액터를 연결하여 심플한 멀티플레이어 웹게임서비스를 작성을 할수있는

메시지 중심의 최소한의 설계와  작동하는 최소한의 기능구현을 시도해보았습니다.


웹소켓및 스프링 웹등은 메시지 기반의 멀티플레이어 게임을 만들기 위한 도구일뿐이며

...

두가지는 같은 서버로직을 가지고 있으나 다른 메시지 패턴을 사용하였습니다. 


스레드모델 VS 액터 모델

...

...

Code Block
languagejava
themeEmacs
ActorSelection lobbyActor = system.ActorSelection("user/lobby"); 
lobbyActor.tell("some message",null);


// 자식의 모든 요소 선택이 가능합니다.
ActorSelection tableAllActor = system.ActorSelection("user/lobby/table/*"); 
tableAllActor.tell("some message",null);

ActorPath를 통한 여러 지점에으로의 우아한 메시지 전송을 다음 링크를 통해 살펴볼수 있습니다.  

...

웹소켓을 액터에 연결하기

Include Page
Spring with WebSocket
Spring with WebSocket

유닛테스트

Include Page
UniteTest for Async Message
UniteTest for Async Message

샘플데모

Image Added


기타 유용한링크

기타 참고자료

또한 메시지 처리에서 Thread와 Actor를  비교해보는것은 , 메시징 처리를 위한 좋은 학습자료가 될것입니다.