목표
웹 응용 프로그램의 파일 저장 및 처리 백 엔드를 구현해야합니다. 응용 프로그램은 다음과 같은 특징이 있습니다
클라이언트는 다양한 형식과 크기의 파일을 (기가 바이트 범위에있을 수 있습니다) 저장합니다 (1 #)
(# 2) 가끔 클라이언트가 파일을 검색해야합니다 자체
(# 3) 때때로 클라이언트는 OD를 생성하기 위해 이전에 저장된 파일에서 처리가 수행되는 출력 데이터 ("OD")를 검색해야합니다. 중요 참고 사항 : OD 크기는 일반적으로 매우 작음 원본 파일 크기의 일부 - 2GB 파일은 1MB OD를 생성 할 수 있음).
(# 4) 경우에 따라 클라이언트가 파일에 변형을 적용합니다 (예 : 파일 패치). I는 # 1, # 2, # 3, # 4에 대한 다음 계산 클러스터를 달성하기 위해 스토리지 클러스터 (예 : SAN)를 사용할 수있는 솔루션
고려
. 그러나 SAN과 컴퓨팅 클러스터간에 수많은 데이터를 전송하려면 (파일을 요청하거나 사용자가 파일을 패치하는 등) 파일 구조가 거대 할 수 있고 클라이언트가 작은 OD 나 아무것도 (패칭 작업은 클라이언트 입력을 소비하지만 클라이언트에 데이터를 반환하지 않습니다).확장 가능한 저장소 + 처리 클러스터 (하둡 무엇입니까?)
그래서 지금 생각해 보면 스토리지 노드와 프로세싱 클러스터 사이의 트래픽을 피하기 위해 각 노드가 큰 데이터 노드와 유능한 프로세싱 노드 인 노드 클러스터가 필요하다고 생각합니다. 노드는 저장 한 파일에 대한 처리를 담당하므로 네트워크 대역폭이 사용되지 않습니다. 노드가 처리 요청으로 인해 과부하가 발생하면 해당 노드는 일부 작업을 이웃 노드로 오프로드 할 수 있습니다 (따라서 대역폭 비용은 여전히 발생하지만 필요시에만 발생합니다).
질문
(1) 위키 미디어는 "파일 서버"와 별도의 "이미지 스케일러"서버를 사용합니다 ...하지만 내 경우에는 내가 큰, 불필요한 대역폭에 대한 걱정. 내 걱정은 정당한가? 따라서 내 경우에는 부적절한 스토리지/프로세싱 노드를 분리 하는가?
(2) 내 접근법 (대용량 저장소 + 강력한 처리 노드 클러스터)이 바람직합니까? 아니면 다른 아키텍처를 고려해야합니까?
(2) 나는 하둡을 고려해 보았지만 그것이 작업에 적합한 지 모르겠다. (막대한 대역폭 비용과 나는 빅 데이터를 실제로 처리하지 않는다). 또한 Hadoop이 작업에 적합하다면 이유를 말해주십시오.
(3)이 서버 클러스터를 관리하는 데 사용할 수있는 오픈 소스/다른 프레임 워크가 있습니까?
(4)없는 경우에는 사내 솔루션을 개발해야한다고 생각합니다. 어떻게 시작할 수 있습니까?
휴. 그것은 많은 것이었다. 미리 감사드립니다!
파일 처리와 대역폭 문제가 있지만 Hadoop이 내가 필요한 것에 가장 가깝다고 생각합니다. 감사. – Aaron