시작하며 실무경험이 없는 신입 개발자 입장에서 시스템 디자인에 대해 높은 이해도를 가지는 것은 쉽지 않습니다. 하지만, "내가 리더라면? 어떤 역량이 필요할까.. 어떻게 그 일을 해낼까?" 나는 사고력을 키우는 것은 중요하다고 생각합니다. "전체 시스템을 파악하
이번 게시물은 메모리 기반 캐싱을 통한 성능 개선에 대한 내용입니다.오늘날 서버의 응답 시간은 극도로 짧아야 하며 대부분의 경우 응답 시간이 500ms~700ms 사이라고 합니다. 하지만, 사용자의 증가, 시스템의 복잡성 증가는 지연 시간(Laytency) 를 증가시킵
이번 게시물은 아키텍처를 통한 성능 개선에 관련한 내용입니다.위는 두 개 이상의 데이터센터를 활용하는 아키텍처 입니다.장애가 없는 상황에서 클라이언트는 지리적으로 가장 가까운 데이터 센터로 라우팅되며 이를 지리적 라우팅(geoDNS-routing 또는 get-routi
이번 게시물은 메시지 큐를 통한 비동기 처리를 통한 성능 개선에 관련한 내용입니다.메시지 큐(Message Queue) 는 메시지 기반의 중개자 소프트웨어나 서비스로 시스템 간의 또는 애플리케잇연 간의 통신을 비동기적(Asynchronous)으로 처리하는데 사용이 됩니
이번 게시물은 데이터베이스 샤딩을 통한 성능 개선에 관련한 내용입니다.데이터베이스 서버를 분산해도 데이터가 계속 증가하게 되면 하나의 서버나 데이터베이스 인스턴스가 처리하기 어려운 상황이 올 수 있습니다. 이 경우 데이터베이스의 규모를 확장하는 Scale Out(수직적
이번 게시물은 다중화 및 거대화 된 서비스의 효율적인 배포관리를 위한 내용입니다.이렇게 앞선 내용들을 통해 규모가 커지는 서비스를 독립적으로 분리하여 성능을 개선하는 방법들을 알게되었습니다.그러나 시스템이 거대해짐에 따라 로컬이 아닌 환경에서 개발 및 배포에도 복잡성이