-
Notifications
You must be signed in to change notification settings - Fork 1
데이터 정합성 문제 #7
Copy link
Copy link
Open
Labels
documentationImprovements or additions to documentationImprovements or additions to documentationhelp wantedExtra attention is neededExtra attention is needed
Metadata
Metadata
Assignees
Labels
documentationImprovements or additions to documentationImprovements or additions to documentationhelp wantedExtra attention is neededExtra attention is needed
Type
Projects
Status
🆕 New
현재 람다는 여러 엔드포인트를 순서대로 호출하여 업데이트하고, 그 날짜를 엔드포인트별로 기록하는 방식을 사용하고 있습니다.
이 호출을 엔드포인트 단위로 나누어, 한 엔드포인트가 실패하더라도 다른 엔드포인트는 업데이트를 진행하도록 하려 합니다.
이유는, 하나만 실패해도 전부 실패처리를 한다면, 이것이 다음 번 호출할 때 처리해야 하는 부분으로 다가오게 되는데, 이 때 호출 수나 시간에 문제가 생길 수 있기 때문입니다.
하지만 이러면 서로 연관이 있는 데이터끼리 정합성이 맞지 않을 가능성이 생깁니다.
ex. 유저 업데이트 하는 중에는 1레벨이였는데, 그 후에 경험치 업데이트할때는 시간이 경과하여 2레벨이 되었음.
하지만 개인의 데이터는 바뀌는 주기가 길기 때문에, 람다가 한번 더 호출되면 맞춰지는 부분입니다.
그래도 여전히 람다의 호출 주기 사이에는 정합성이 맞지 않는 문제가 남아있습니다.
이를 해결하기 위해선, 호출 주기마다 업데이트 할 범위를 통일할 수 있습니다만...
이걸 위해선 호출이 정말 무조건 된다는 확신이 필요할 것 같네요.
지금은 la-seine 에서 실패한 요청들에 대해 반환하기만 하는 상태라, 많이 돌리다 보면 한번씩 오류가 나는 것이 관측되는 상황이라 더욱 고민이 됩니다.
현 상황에선 서로 다른 collection 을 참조하는 경우, 이런 정합성 문제가 발생하지 않는 것들만 있습니다만, 추후 이런 부분을 고민하게 되는 경우가 있을 것 같아 기록으로 남깁니다.