이것은 akka에 관한 몇 가지 기본적인 질문입니다. 나는 akka에서 완전히 녹색이므로 어떤 충고도 환영받습니다.기본 akka 찾기 배우와 상태
수백만 명이 아니라 수천 명의 사용자가있는 애플리케이션이라고 가정 해보십시오.
도메인 모델은 각 사용자가 한 국가 내의 한 지역에 위치하는 즉, 한 국가에는 여러 지역이 있고 하나의 지역에는 여러 사용자가있는 계층입니다.
나는 akka에서 정확한 동일한 계층 구조를 만들려고합니다. CountryActor -> * RegionActor -> * UserActor. CountryActor/RegionActor 것이다 따로 부모 인에서, 또한 등 아이를 감독, 통계 계산, 뉴스 피드를 수집하는 등의 기능 의무를 가지고
Q1 : 그것은 도메인 모델이 방법을 모방 의미가 있습니까?
Q2 : 액터에 각 엔티티의 속성을 저장해야합니까? 이렇게하면 데이터를 한 번만 저장하면 akka 시스템이 효과적으로 메모리 데이터베이스가됩니다.
(의사 코드)
CountryActor {
Name,
CountryCode,
(children = list of RegionActors handled by akka)
}
RegionActor {
Name,
RegionCode,
(children = list of UserActors handled by akka)
}
UserActor {
UserId,
Firstname,
Lastname,
Alias,
ReceiveRegionalNews,
ReceiveCountryNews,
...
}
Q3 : 어떻게 효율적으로 userId를하여 사용자를 조회 할? UserActor의 하위 이름이 userId가 될 것으로 예상하지만 userId 만있는 경우 getContent(). findChild (userId)를 수행하기 위해 올바른 국가 및 지역을 찾아야합니다. 모든 사용자 ID의 전체지도를 유지하고 배우에 대한 참조를 유지해야합니까?
Q4 : 주에서 배우를 찾는 방법은 무엇입니까? 각 사용자가 RegionalNews 특성을 켤 수 있다고 상상해보십시오. 즉, RegionalActor에서 뉴스를 수신하려고합니다. RegionalActor가 모든 청취자에게 뉴스를 배포하고 싶을 때마다 어떻게 찾을 수 있습니까? 이 속성을 가진 사용자의 내부지도를 유지합니까 아니면 모든 자녀에게 브로드 캐스트를하고 모든 응답자에게 보냅니 까? 사전