개발관련/ETC..

서버 액터 모델

Diademata 2026. 1. 6. 15:06
반응형

서버 액터 모델은 상태를 가진 객체 하나가, 메시지를 한 번에 하나씩만 처리하도록 강제하는 서버 설계 방식이다.

액터는 다음 규칙을 가진다.

  • 액터는 자기 상태를 소유한다
  • 외부에서는 상태를 직접 수정할 수 없다
  • 모든 요청은 메시지로 전달된다
  • 액터는 한 번에 하나의 메시지만 처리한다

이 네 줄이 액터 모델의 전부다.

왜 서버에서 액터 모델이 필요한가?

서버에서 가장 위험한 상황은 다음이다.

1.여러 요청이 동시에 들어온다.

2.같은 상태를 동시에 수정한다.

3.실행 순서에 따라 결과가 달라진다.

 

이 문제는 서버 개발에서도 가장 흔하면서도 재현하기 어려운 버그의 원인이 된다.

 

액터 모델의 접근 방식

액터 모델에서는 상태의 주인을 하나로 제한하고 상태 변경 경로를 메시지 처리로만 한정하며 메시지를 순차적으로 처리하도록 강제한다.
그 결과 동시성 문제는 코드가 아니라 구조 차원에서 차단된다.

 

요약하자면

 

1.액터 모델은 동시성을 없애는 것이 아니라 상태 접근을 직렬화한다.

2.락을 잘 쓰는 방법이 아니라 락이 필요 없는 구조를 만든다.

3.서버 액터 모델은 상태 안정성을 우선하는 설계 방식이다.

 

참고 : 
https://en.wikipedia.org/wiki/Actor_model

반응형

'개발관련 > ETC..' 카테고리의 다른 글

가십 프로토콜  (0) 2025.01.25
Akka 클러스터  (0) 2024.05.14
Git 커밋된 계정 기록 변경하기  (0) 2024.04.28
MMF(Memory Mapping File)  (0) 2024.03.18
Https 적용하기  (0) 2024.03.11