더북(TheBook)

이 상황을 좀 더 풀어 볼게요. 소라의 휴대폰 화면민지의 휴대폰 화면은 같은 소스 재고 상태를 보여 주고 있지만 사실은 각자 독립적으로 운영되는 시스템의 일부분입니다. 다시 말해 소라의 화면이 소라만을 위한 하나의 인스턴스로 작동하고, 민지의 화면도 민지만을 위한 또 다른 인스턴스로 작동하는 것입니다. 그래서 소라가 재고를 확인하는 동안 민지도 같은 정보를 볼 수 있지만, 정보는 각각의 인스턴스가 독립적으로 처리합니다.

예를 들어 소라가 소스를 먼저 주문해서 재고가 소진되었다면, 소라의 인스턴스는 즉시 ‘품절’ 상태를 반영합니다. 하지만 민지의 인스턴스는 이 정보를 약간 뒤늦게 반영할 수도 있습니다. 이처럼 각자의 화면에 독립된 인스턴스가 작동하기 때문에 잠깐 동안 서로 다른 정보가 표시될 수도 있지만 결국은 최종적으로 일치하는 정보를 보여 줍니다.

이제 분산 시스템에서 인스턴스는 이렇게 여러 사용자가 동시에 같은 시스템을 이용하더라도 각자 독립적으로 접근할 수 있는 개별적인 단위를 의미한다는 점을 이해했을 것입니다. 소라와 민지가 야마다 라멘의 매운 소스 재고 상태를 독립적으로 확인할 수 있었듯이, 인스턴스로 여러 사용자가 시스템 자원을 효율적으로 공유하고 동시에 사용할 수 있는 셈이지요.

그럼 이제 이 인스턴스들을 확장성을 이용하여 더 효율적으로 활용할 수 있는 방법을 알아보겠습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.