지난 7월 1일, IPFS는 IPFS 클러스터(Cluster)의 6주년을 기념했다. 이는 IPFS 데몬(deamons) 집합에서 데이터가 저장되는 방식(또는 ipfs-slang에서 "고정됨(Pinned)")을 조정하는 애플리케이션이다. IPFS 클러스터 피어는 go-ipfs 노드에 사이드카로 실행되며, 어떤 노드가 무엇을 고정하는지 결정하고, 대기열을 관리하며, 여러 위치에서 데이터가 올바르게 작성 및 복제되는지 확인한다. IPFS 데몬은 IPFS DAG를 형성하는 블록을 저장하고 IPFS 네트워크의 다른 노드에 제공하거나 IPFS 게이트웨이를 통해 HTTP를 통해 콘텐츠를 사용할 수 있게 한다.
IPFS 클러스터는 IPFS 데이터를 대규모로 저장할 때 운영자가 직면하는 많은 문제를 해결한다. 예를 들어 IPFS 클러스터는 여러 노드를 조정하여 CID를 고정하고 복제할 수 있다. 클러스터 피어는 클러스터에 있는 노드에서 해당 노드를 선택하기 위해 다른 컨텐츠를 고정하는 데 너무 바쁘지 않고 가장 사용할 수 있는 공간을 보고하는 여러 영역의 IPFS 노드를 자동으로 선택할 수 있다. 완전히 고정된 상태에 도달하지 못한 다운로드는 정기적으로 재시도되지만, 반복적으로 실패하면 우선순위가 낮아진다. 모든 클러스터 피어는 전체 클러스터 핀셋의 복사본을 유지하고 콘텐츠를 직접 고정, 고정 해제 또는 추가하는 데 사용할 수 있으므로 일반적인 오류에 복원할 수 있다. 핀셋의 모든 핀은 개별적으로 구성할 수 있으며(즉, 복제 요소), 추가 메타데이터(이름, 사용자 태그 등)를 저장할 수 있다.
알려진 가장 큰 IPFS 클러스터(NFT.Storage 지원)에는 24개의 피어가 있으며 8천만 개의 핀, 3회 복제된 285TiB의 IPFS 데이터(총 855TiB)를 저장한다. 모든 클러스터 피어는 네트워크에서 가져올 새 핀을 추가하거나 자동으로 복제되고 고정되는 콘텐츠를 직접 가져오는 데 사용할 수 있는 HTTP API를 제공한다. API는 핀의 현재 상태를 확인하는 데 사용할 수 있으며 운영자는 추가 프로메테우스(Prometheus) 엔드포인트를 가지고 있어 총 핀 수, 핀에 대기 중인 항목 수 또는 오류 비율과 같은 메트릭을 수집하고 표시한다.
내부적으로 클러스터 피어는 자체 libp2p 사설 네트워크를 형성하여 클러스터 핀셋에 대한 조정, 메트릭 공유 및 브로드캐스트 업데이트에 사용합니다. 모든 노드가 수정할 수 있는 이 클러스터 핀셋은 충돌이 발생하지 않도록 하고 일괄 업데이트 및 가십 방송과 같은 확장성 기능을 제공하는 CRDT 데이터 저장소에 의해 구동된다. 이를 통해 클러스터가 많은 피어와 함께 성장할 수 있을 뿐만 아니라 많은 양의 새 핀을 수집하고 다운타임 후 자동으로 복구 및 따라잡는 용량을 확장할 수 있다.
IPFS 클러스터 버전 1.0은 2022년 4월에 출시되었으며 프로덕션 워크로드에 대해 완전히 준비된 것으로 간주되는 프로젝트 완성도의 이정표를 나타냈다. 그 이후로 IPFS 클러스터는 확장성 요구에 대응하고 대규모 IPFS 스토리지를 위한 추가 도구를 제공하기 위해 계속 진화하고 있다. 향후 몇 개월 동안의 로드맵에는 클러스터 피어가 IPFS 데몬을 직접 내장할 수 있는 옵션과 Kubernetes에서 탄력적인 IPFS 및 IPFS 클러스터 배포를 실행할 수 있는 공식 지원 방법을 제공하는 옵션이 포함된다. IPFS 클러스터를 시험해 보는 데 관심이 있다면 해당 문서가 시작하기 가장 좋은 곳이다. 질문이나 문제가 있는 경우 https://discuss.ipfs.io/의 포럼에 문의하면 된다.
더욱 다양한 정보 및 방송 관련 소식은
공식 SNS 채널을 통해 확인 가능합니다.