배경 : 수백만 개 이상의 파일을 읽고 해당 파일을 변환하거나 구문 분석하는 소프트웨어 응용 프로그램을 설계하고 있습니다. 요구 사항 중 하나는 확장 가능하고 분산 된 시스템을 구축하여 읽기 및 구문 분석을 그에 맞게 조정할 수 있도록하는 것입니다.파일 읽기/구문 분석을위한 확장 가능한 시스템 아키텍처/디자인
기본적으로 최소 상세 파일 이름 목록은 하나의 DB이며 클라이언트는 다음 파일을 분석/변환해야한다는 것을 알기 위해 목록에 액세스해야합니다. 파일은 다른 서버/위치에 다시 있습니다. 대부분의 조각이 디자인되어 있지만 재검토가 필요한 중요한 부분 중 하나는 파일 이름을 다른 클라이언트에게 제공하는 디자인입니다.
디자인 DB 옆에 앉아 이름을 파일에 모든 요청을 채널 화와 클라이언트를 공급하는 단일 서비스 :
지금은 두 가지 옵션이 있습니다. 따라서이 경우 클라이언트는 서비스 (사전 정의 된 프로토콜/형식)와 대화하고 목록을 가져옵니다.
디자인 클라이언트가 직접 DB와 통신하고 클라이언트 내에서 동기화/채널 화를 구현합니다.
첫 번째 옵션에 대한 유일한 관심은 그것이 확장 가능한 아키텍처/디자인입니까? 누구나 규모가 큰 아키텍처에서 이러한 상황을 처리 한 사람이 있습니까 (내 경우에는 모든 클라이언트에게 하나의 서비스를 제공/서비스 할 수 있음)
이 파일은 데이터베이스 테이블에 상주하거나 파일 시스템에 저장되어 수행을 제공합니다? – home
@home : 파일 이름 만 DB에 있습니다. 파일은 동일한 네트워크의 다른 위치에있는 다른 물리적 서버에 있습니다. – santosh