비동기 처리를 위한 작업은 Akka 서버가 담당
개발자는 필요한 로직 구현에 집중
Akka 액터 모듈은 Scala 표준 라이브러리만 있으면 동작한다.
Akka Stack (from Akka in Action)
Actor 모델이 쓰레드 처리같은 기존방식에 비해 Concurrency 처리를 얼마나 단순화 시켜주는가
사용자는 TicketingAgents에서 이벤트 티켓을 구매할 수 있다.
Customer
Ticketing
Agent
티켓 요청
티켓 제공
티켓 매진
Customer
Ticketing
Agent
Printing
Office
TA대기열은 사라졌다.
TA는 PO로부터 티켓을 받는다.
티켓은 메시지에 담겨 전달된다.
PO는 더이상 TA를 블로킹하지 않는다.
FT는 오류를 격리 시켜서
시스템 크래시 수준을 전체에서 일부로 낮춰
시스템이 여전히 동작하게 하는것이다.
Akka strategy: Restart, Resume, Sop, Escalate
서버에서 실행중인 TA를 늘리거나 줄일수 있을까
주소를 이용해 메시지를 주고 받으면 Actor와 주소를 연결하는게 이슈
Actor는 통신중인 Actor가 로컬/리모트에 있는지 몰라도 된다.
머신의 CPU와 메모리를 늘리는 방식이 아닌
Dispatcher와 Mailbox가 가벼운 Actor의 조합을 이용해 성능을 높인다.
with configuration 레이어
http://stackoverflow.com/questions/13847963/akka-kill-vs-stop-vs-poison-pill