Udemy-akka-essential #06 How Actors Actually Work

Ada·2023년 10월 13일

Akka

목록 보기
28/32

이번 강의에서는 액터가 어떻게 동작하는지 그림 예시를 통해 배웠다.

유데미 캡쳐가 안되어서 그림을 첨부 못 하는 게 아쉽다.


액터와 스레드

액터는 메시지 핸들러와 메시지 큐를 가지며, 이는 스레드에 의해 실행되어야 한다.
액터 시스템은 액터와 공유되는 스레드 풀을 가지고 있다.

메시지 처리

메시지는 액터의 메일박스로 전송되고, 이는 액터의 메시지 핸들러에 의해 처리된다.
메시지 처리는 스레드에 의해 실행되며, 한 번에 한 스레드만이 액터를 제어할 수 있다.
이는 액터의 상태를 변경하거나 다른 액터에 메시지를 전송할 수 있다.

동기화 및 경쟁 상태

액터는 한 번에 하나의 스레드만 접근할 수 있기 때문에, 내부 상태에 대한 동기화가 필요하지 않다. 이로 인해 경쟁 상태가 발생하지 않는다.

메시지 순서 및 배달 보장

Akka는 최대 한 번의 배달 보장을 제공한다. 또한, 같은 송신자와 수신자 쌍의 메시지 순서는 항상 유지된다.

액터의 스케줄링과 해제

Akka는 액터를 적은 수의 스레드에서 스케줄링하여 실행하고, 처리가 끝나면 다른 작업으로 이동한다.

비동기 처리의 의미

액터는 비동기적으로 동작하며, 메시지는 액터의 메일박스에 안전하게 저장된 후 순차적으로 처리된다..

profile
백엔드 프로그래머

0개의 댓글