Versions Compared

Key

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

...

Expand
titleResult

[INFO][2017-09-05 오전 6:50:10][Thread 0005][[akka://ServiceA/user/myactor#16204
11193]] NORMAL:bar
[INFO][2017-09-05 오전 6:50:10][Thread 0005][[akka://ServiceA/user/myactor#16204
11193]] 화남
[INFO][2017-09-05 오전 6:50:10][Thread 0005][[akka://ServiceA/user/myactor#16204
11193]] Angry:foo
[INFO][2017-09-05 오전 6:50:10][Thread 0005][[akka://ServiceA/user/myactor#16204
11193]] 행복해짐
[INFO][2017-09-05 오전 6:50:10][Thread 0005][[akka://ServiceA/user/myactor#16204
11193]] Happy:bar
[INFO][2017-09-05 오전 6:50:10][Thread 0005][[akka://ServiceA/user/myactor#16204
11193]] 화남
[INFO][2017-09-05 오전 6:50:10][Thread 0005][[akka://ServiceA/user/myactor#16204
11193]] Angry:foo
[INFO][2017-09-05 오전 6:50:10][Thread 0005][[akka://ServiceA/user/myactor#16204
11193]] 행복해짐
[INFO][2017-09-05 오전 6:50:10][Thread 0005][[akka://ServiceA/user/myactor#16204
11193]] Happy:bar
[INFO][2017-09-05 오전 6:50:10][Thread 0005][[akka://ServiceA/user/myactor#16204
11193]] 화남
[INFO][2017-09-05 오전 6:50:10][Thread 0005][[akka://ServiceA/user/myactor#16204
11193]] Angry:bar
[INFO][2017-09-05 오전 6:50:10][Thread 0005][[akka://ServiceA/user/myactor#16204
11193]] 이미 화가났다.
[INFO][2017-09-05 오전 6:50:10][Thread 0005][[akka://ServiceA/user/myactor#16204
11193]] Angry:foo
[INFO][2017-09-05 오전 6:50:10][Thread 0005][[akka://ServiceA/user/myactor#16204
11193]] 행복해짐
[INFO][2017-09-05 오전 6:50:10][Thread 0006][akka://ServiceA/deadLetters] Messag


액트의 Lifecyle모니터링

...




액트접근 주소체계

...


잠시 실습없이, Actor를 접근하는 주소체계에대해 설명 드리겠습니다.  ActorPath는 총 4가지로 구분이 되며 

...

  • Protocol : AKKA를 사용하는 프로토콜임을 알림
  • ActorSystem : 주로 어플리케이션 하나의 이름으로, ActorSystem 최초 생성시 이름지정
  • Address : 네트워크 주소로 ip:port 로 표현
  • Path : 서비스 개발자가, 계층적으로 배치한 Actor 이름

여기서 의문을 가질수 있습니다. RestAPI와 흡사한데, 그냥 RestAPI를 사용할래~ 라구요

Image Removed

 주소체계와 사용법은 흡사하나, 애시당초 사용목적이 틀립니다.  위 예는 동일장비에서 액트 메시지 처리능력 성능그래프이며

초당 50만메시지 처리가 가능합니다.  원격API뿐 아니라 , 로컬 시뮬레이션에 사용하기에도 충분한 동시적 처리능력을 가지고 있습니다.   

네트워크가 적용되면 네트워크 지연이 있어서, 위와같은 결과를 내지 못할테지만, ACTOR메시지 처리가 RESTAPI비교하여 100배 이상 고성능일것으로 추측합니다.

더욱이 RAMPUP(지속적으로 증가) 테스트를 하게된다면, RESTAPI는 1000tps이상에서 3분이상 못버티고 CPU100,메모리풀 이 날것으로 예상합니다.   

이것은 정확하게 ACTOR는 소켓 연결지속적 실시간처리이며 , RESTAPI가 전송1번에 연결을 맺고/끊고를 반복하는 프로토콜의 차이에 있습니다.

 AKKA의 주목적은 사용자에게 제공하는 REST를 걷어내는게 아니라, 미들웨어간 소통이 없는 서비스를 소통하게하여 DB 호출의 최소화

미들웨어간 RestAPI사용을 하였다면 변경으로 인한  성능향상의 목적이 될것입니다.


RestAPI호출 접근법과는 큰차이가 없어보이나 내부적으로는 피어투피어 실시간 통신으로 메시지가 처리가됩니다.

다음 RemoteActor실습시 가상의 서비스 시나리오를 만들어 극명한 성능 차이를 프로파일링 비교해보겠습니다. 

  • RESTAPI 호출 VS RemoteActor 호출
  • 항상 DB Read 가 발생하는 RESTAPI VS Actor를 사용하여 DB Read가 발생하지않는 RESTAPI

...