이모저모

낙관적 업데이트?! 비관적 업데이트 !?

눙엉 2022. 4. 13. 22:35

낙관적(optimistic) 업데이트, 비관적(pessimistic) 업데이트라는 말이 있다.

 

두 개 단어 모두 이름에서 나타내듯 낙관적, 비관적이 포인트이다.

 

낙관적은 사용자 수정 요청 -> 화면 갱신 -> 서버에 수정 요청 (실패 시 이전 상태로 되돌리기)

비관적은 사용자 수정 요청 -> 서버에 수정 요청 -> 성공하면 화면 갱신

 

사용자의 경험을 위해서 순서를 바꿔가며 업데이트를 해주는 것 같다.

 

중요한 기능의 경우 비관적 업데이트 방식을 주로 사용한다.

실패할 수도 있기 때문에 미리 성공한 화면을 보여줬다가 실패해버리면... 내가 사용자라고 해도 짜증이 날 것 같다.

 

여러 글을 읽어보니 낙관적 업데이트는 페이스북의 좋아요 버튼에 사용한다고 한다.

사용자의 경험을 위해 실시간 업데이트나 요청을 실패해도 큰 리스크가 없는 곳에서 낙관적 업데이트를 사용한다는데 어디가 좋을까요..?