(어플리케이션 개발) 이미지서버를 분산시키는 것.
*이미지 호스팅 시스템에서는 고려해야 할 다른 측면이 있다. 저장될 이미지의 개수에 제한이 없다. 따라서 저장공간의 확장성에 대해서도 고려해야 한다. 이미지 보기나 다운로드를 요청할 때 응답시간이 빨라야 한다. 사용자가 이미지를 업로드하고 난 후, 해당 이미지는 항상 시스템에 저장되어 있어야 한다. (데이터에 대한 신뢰성) 시스템을 운용하기 쉬워야 한다.(관리성) 이미지 호스팅 서비스 자체의 이익율이 높지 않기 때문에, 시스템은 비용 효율적으로 운용될 필요가 있다. 다음은 이미지 호스팅 애플리케이션의 기능을 간단하게 도식화한 것이다. 그림 1 이미지 호스팅 애플리케이션의 아키텍처 다이어그램 이미지 호스팅 시스템에서는 고려해야 할 다른 측면이 있다. 서비스들(Services) 확장성있는 시스템을 설계할 때 각각의 명확한 인터페이스를 기반으로 나누어 생각하는 것은 좋은 방법이다. 이러한 방식으로 설계하는 시스템을 SOA(Service-Oriented Architecture)라고 부른다. 그리고 각각의 서비스는 다른 서비스와 상호작용을 위해 다른 서비스에서 공개하는 API형태인 추상화된 인터페이스를 사용한다. 시스템을 상호 보완적인 서비스로 분할한다는 것은 시스템을 기능단위로 분리시키는 것을 말한다. 이러한 추상화는 서비스와 서비스가 처한 환경 그리고 서비스와 서비스 사용자 사이의 명확한 관계를 수립하는데도 도움이 된다. 이러한 명확한 기술은 문제를 분리시키는데도 도움이 되지만, 각각을 독립적으로 확장시키는 것에도 효과적읻. 이런의미에서 시스템에서의 SOA는 객체 지향 프로그래밍과 아주 유사하다. 예제 애플리케이션에서 모든 이미지 업로드와 검색을 ...