더북(TheBook)

1.1.2 대규모 시스템에서 자바스크립트 함정을 피하라

클래스(자바스크립트는 객체)가 5개인 시스템보다 50개인 시스템에서 개발 및 유지 보수 난이도가 10배 이상 더 높은 이유는 뭘까? 객체 5개가 제각기 다른 객체들에 의존한다고 보면 최대 20개의 통신 채널이 유발된다(이들 객체가 저마다 다른 객체 4개를 호출한다는 전제하에 A가 B를 호출하고 B가 A를 호출하는 것도 따로 센다). 개수가 50개면 2, 450(50 ×49)개 채널이 만들어지니 100배 이상 증가한다.

클라이언트/서버 양쪽에서 규모가 큰 시스템의 부하를 감당할 수 있게 해주는 단일 페이지 애플리케이션(Single-Page Application), 노드JS 같은 자바스크립트 기술이 등장하면서 개발자는 통신 채널을 최소화하는 문제를 진지하게 고민하게 되었다.

본연의 임무를 수행하기 위해 객체 간 인터페이스가 불가피하다면 어떤 상황에서도 모든 객체가 올바르게 작동하게끔 지속해서 연결을 관리해야 한다.

이 절에서는 이 문제의 해결책을 알아본다.

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