2016-07-28 3 views
2

필자는 Service Farbic의 액터 상태가 일종의 점증적인 델타/차이 메커니즘을 사용하여 복제되는지 또는 각 변경 사항에 대해 전체 상태가 복제되는지 여부를 궁금합니다.증분 배우 상태 복제?

매우 큰 상태 페이로드 (예 : 100KB)의 배우가 있다고 가정 해 보겠습니다. 또한 카운터 값이 해당 상태에 포함되어 있다고 가정 해 보겠습니다. 카운터는 높은 주파수에서 변경되고 나머지 상태는 매우 낮은 주파수에서 변경됩니다.

이 경우 전체 상태가 변경 될 때마다 복제되고 다른 디자인을 고려해야하는 것은 낭비입니다.

그러나 Service Farbric이 증분 복제를 수행 할 수 있으면이 방법이 매력적일 수 있습니다.

아무도 자세한 내용을 알고 있지 않습니까?

아마도 서비스 패브릭은 복제 중에 직렬화 된 상태에서 이진 델타/차등 알고리즘을 사용하거나 상태 이름에 따라 상태 변경이 증가 했습니까?

답변

2

주 이름입니다. 메서드 IActorStateProvider.SaveStateAsync을 보면 ActorStateChange의 목록을 허용한다는 것을 알 수 있습니다. 지속 된 공급자 (KvsActorStateProvider)는 해당 목록의 각 값을 serialize하고 (제거의 경우 제외) 저장소를 업데이트합니다.

+0

내가 찾고있는 답변과 같습니다. 고맙습니다! –