인터랙티브 UI를 분산 시스템의 관점에서 바라보고, 긴 작업과 동시 업데이트, 문서 단위 락킹 등에서 피할 수 없는 트레이드오프를 짚는다.
One Happy Fellow - 블로그 ----------------------- 글소개연락처구독RSS
2023년 2월 20일
상호작용형 사용자 인터페이스를 가진 모든 애플리케이션은 분산 시스템이다. 서버가 필요하지도 않다. 당신의 앱과 그 사용자는 공유된 상태를 두고 함께 작업하는 두 액터다.
깊은 통찰은 아니지만, 사용자 인터페이스 코드를 작성할 때 마주치는 불편한 현실의 상당 부분을 설명해 준다. 예를 들어 사용자가 30초가 걸리는 동작을 수행했고, 끝나면 앱의 상태가 바뀐다고 하자. 당신은 다음 중 무엇을 선택하겠는가:
정답은 없다. 하지만 분산 시스템을 설계할 때 고려하는 것과 똑같은 문제라는 점을 보라. 피할 수 없고, 오직 트레이드오프만 있다: